Retrieve a list of organizations#

Description#

Returns a paginated list of organizations.

For Managed Service Providers only

This endpoint is only for Managed Service Provider (MSP) applications and requires a valid Wk-Service-Provider header. Most customers are not MSPs and do not need this endpoint.

Not an MSP? Retrieve your organization ID directly from the Workiva UI instead. See How to find IDs for Workiva files and items for instructions. Save the organization ID as a variable so you can reuse it in subsequent API calls.

MSP users: Find your Wk-Service-Provider value in the URL of your Service Provider Admin (SPA) screen. After signing in, select your service provider name to open the SPA. The URL will look like https://app.wdesk.com/s/admin/sp-orgs?sp=sp_a1b2c3d4e5f6789012345678abcdef90. The value after sp= (in this example, sp_a1b2c3d4e5f6789012345678abcdef90) is your Wk-Service-Provider header value.

GET /organizations

Parameters#

Parameter

In

Type

Required

Description

X-Version

header

string

true

Version of the API (2026-01-01)

Wk-Service-Provider

header

string

true

The unique identifier of the service provider

$maxpagesize

query

integer

false

The maximum number of results to retrieve

$next

query

string

false

Pagination cursor for next set of results.

$filter

query

string

false

The properties to filter the results by.

$orderBy

query

string

false

One or more comma-separated expressions to indicate the order in which to sort the results.

Filter Options#

Available logical operators: and, or

Name

Predicates Supported

created

eq, ne, gt, ge, lt, le

modified

eq, ne, gt, ge, lt, le

name

eq, ne, gt, ge, lt, le, contains

status

eq

Sorting Options#

Name

Orders Supported

modified

asc, desc

name

asc, desc

Code Samples#

curl -X GET https://api.app.wdesk.com/organizations \
    -H 'Accept: application/json' \
    -H 'Wk-Service-Provider: string' \
    -H 'Authorization: Bearer {access-token}' \
    -H 'X-Version: 2026-01-01'
http GET https://api.app.wdesk.com/organizations \
    X-Version:2026-01-01 \
    Accept:application/json \
    Wk-Service-Provider:string \
    Authorization:"Bearer {access-token}"
wget --method=GET "https://api.app.wdesk.com/organizations" \
    --output-document -  \ 
    --header 'Accept: application/json' \ 
    --header 'Wk-Service-Provider: string' \ 
    --header 'Authorization: Bearer {access-token}' \
    --header 'X-Version: 2026-01-01'
import requests

headers = {
  'X-Version': '2026-01-01',
  'Accept': 'application/json',
  'Wk-Service-Provider': 'string',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.app.wdesk.com/organizations', headers = headers)

print(r.json())

Returns#

200 - OK#

Returns a JSON object with data and @nextLink properties. data contains a list of Organization objects, and @nextLink provides the URL to the next set of results. If there are no additional results, @nextLink doesn’t appear. If the request returns no results at all, data contains an empty array.

400 - Bad Request#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

401 - Unauthorized#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

403 - Forbidden#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

404 - Not Found#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

409 - Conflict#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

429 - Too Many Requests#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

500 - Internal Server Error#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

503 - Service Unavailable#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

Example Responses#

{
  "@nextLink": "<opaque_url>",
  "data": [
    {
      "created": {
        "dateTime": "2014-12-01T15:03:27Z"
      },
      "id": "1fdc156c-49d4-4f7c-a157-0a54e767f402",
      "modified": {
        "dateTime": "2021-07-14T08:03:02Z"
      },
      "name": "Workiva Inc.",
      "status": "active"
    },
    {
      "created": {
        "dateTime": "2016-03-01T15:03:27Z"
      },
      "id": "626bc888-3f74-4a44-a5de-74db5a660526",
      "modified": {
        "dateTime": "2023-04-14T08:03:02Z"
      },
      "name": "Example Inc.",
      "status": "active"
    }
  ]
}
{
  "code": "400BadRequest",
  "message": "The request was unacceptable, often due to a missing or invalid parameter"
}
{
  "code": "401Unauthorized",
  "message": "No valid API token provided"
}
{
  "code": "403Forbidden",
  "message": "The API token does not have permissions to perform the request"
}
{
  "code": "404NotFound",
  "message": "The requested resource could not be found"
}
{
  "code": "409Conflict",
  "message": "The request conflicts with another request"
}
{
  "code": "429TooManyRequests",
  "message": "Too many requests have been made against the API in too short a time"
}
{
  "code": "500InternalServerError",
  "message": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
{
  "code": "503ServiceUnavailable",
  "message": "The server cannot handle the request due to a temporary overload or scheduled maintenance"
}