# Organization API Reference

These APIs can be called from your backend using your PropelAuth API Key.

---

## [Fetch Org](https://docs.propelauth.com/reference/api/org?ref=propelauth.mymidnight.blog#fetch-org)
Fetches an organization by ID

### Required Permissions
Read Organizations

### Properties
- Name `orgId` *Type string*  
  Description The organization's ID

### Request

```javascript
auth.fetchOrg("1189c444-8a2d-4c41-8b4b-ae43ce79a492")
```

### Successful Response
```json
{
    "orgId": "1189c444-8a2d-4c41-8b4b-ae43ce79a492",
    "name": "Acme Inc",
    "urlSafeOrgSlug": "fa5514e1-c81...",
    "isSamlConfigured": false,
    "isSamlInTestMode": false,
    "canSetupSaml": true,
    "domain": "acme.com",
    "extraDomains": ["propelauth.com"],
    "domainAutojoin": false,
    "domainRestrict": false,
    "maxUsers": null,
    "customRoleMappingName": "Paid Plan",
    "legacyOrgId": "1234",
    "isolated": false,
    "metadata": {
        "customKey": "customValue"
    },
    "passwordRotationEnabled": true,
    "passwordRotationHistorySize": 5,
    "passwordRotationPeriod": 2592000
}
```

---

## [Fetch Orgs](https://docs.propelauth.com/reference/api/org?ref=propelauth.mymidnight.blog#fetch-orgs)
Fetches organizations with optional filtering.

### Required Permissions
Read Organizations

### Properties
- Name `pageSize` *Type number*  
  Description The number of organizations to return per page.
- Name `pageNumber` *Type number*  
  Description The page number to return.

### Request

```javascript
auth.fetchOrgByQuery({
    pageSize: 10,
    pageNumber: 0,
    orderBy: "CREATED_AT_ASC",
    name: "acme",
    legacyOrgId: "1234",
    domain: "example.com"
})
```

### Successful Response
```json
{
    "orgs": [{
        "orgId": "1189c444-8a2d-4c41-8b4b-ae43ce79a492",
        "name": "Acme Inc",
        "is_saml_configured": false,
        "max_users": null,
        "custom_role_mapping_name": "Paid Plan",
        "legacy_org_id": "1234",
        "isolated": false,
        "metadata": {
            "custom_key": "custom_value"
        },
        "created_at": 1774279367
    }],
    "total_orgs": 1,
    "page_size": 10,
    "current_page": 0,
    "has_more_results": false
}
```

---

## [Fetch Users in Org](https://docs.propelauth.com/reference/api/org?ref=propelauth.mymidnight.blog#fetch-users-in-org)
Fetches users within an organization.

### Required Permissions
Read Organizations, Read Users

### Properties
- Name `orgId` *Type string*  
  Description The ID of the organization to fetch users for

### Request

```javascript
auth.fetchUsersInOrg({
    orgId: "1189c444-8a2d-4c41-8b4b-ae43ce79a492",
    role: "Admin",
    includeOrgs: false,
    pageSize: 10,
    pageNumber: 0,
})
```

### Successful Response
```json
{
    "users": [{
        "user_id": "31c41c16-c281-44ae-9602-8a047e3bf33d",
        "email": "test@example.com",
        "email_confirmed": true,
        "first_name": "Buddy",
        "last_name": "Framm",
        "username": "airbud3",
        "picture_url": "https://example.com/picture.png",
        "properties": {
            "favoriteSport": "basketball"
        },
        "locked": false,
        "enabled": true,
        "created_at": 1625476380,
        "last_active_at": 1625476380
    }],
    "total_users": 1,
    "current_page": 0,
    "page_size": 10,
    "has_more_results": false
}
```

---

## [Fetch Pending Invites](https://docs.propelauth.com/reference/api/org?ref=propelauth.mymidnight.blog#fetch-pending-invites)
Fetches pending invites for orgs with optional filtering.

### Required Permissions
Read Organizations

### Properties
- Name `pageSize` *Type number*  
  Description The number of pending invites to return per page.
- Name `pageNumber` *Type number*  
  Description The page number of results to return. Starts at 0.

### Request

```javascript
auth.fetchPendingInvites({
    pageSize: 10,
    pageNumber: 0,
    orgId: "1189c444-8a2d-4c41-8b4b-ae43ce79a492"
})
```

### Successful Response
```json
{
    "invites": [{
        "invitee_email": "test@propelauth.com",
        "org_id": "1189c444-8a2d-4c41-8b4b-ae43ce79a492",
        "org_name": "Acme Inc",
        "role_in_org": "Member",
        "created_at": 1718648493,
        "expires_at": 1719080493,
        "inviter_email": "owner@propelauth.com"
    }],
    "total_invites": 1,
    "page_size": 10,
    "current_page": 0,
    "has_more_results": false
}
```
