> This page is for Developers.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# List all resource types

GET https://rest.test.zuora.com/scim/v2/ResourceTypes

Retrieves all Resource Types managed by OneId. Resource Types define the resource name, endpoint URL, schemas, and other metadata that indicate where a resource is managed and how it is composed, e.g., "User" or "Group".


Reference: https://zuora.ferndocs.com/developers/api-reference/zuora-api/oneid/scim/get-the-ressource-type

## Authentication

- `Authorization` header (bearer token, required) — Use `Bearer {{token}}` in the `Authorization` header for authentication.

## Servers

- `https://rest.test.zuora.com` (US Developer & Central Sandbox (incl. Test Drive), default)
- `https://rest.sandbox.na.zuora.com` (US API Sandbox Cloud 1)
- `https://rest.apisandbox.zuora.com` (US API Sandbox Cloud 2)
- `https://rest.na.zuora.com` (US Production Cloud 1)
- `https://rest.zuora.com` (US Production Cloud 2)
- `https://rest.test.eu.zuora.com` (EU Developer & Central Sandbox)
- `https://rest.sandbox.eu.zuora.com` (EU API Sandbox)
- `https://rest.eu.zuora.com` (EU Production)
- `https://rest.test.ap.zuora.com` (APAC Developer & Central Sandbox)
- `https://rest.ap.zuora.com` (APAC Production)

## Request

### Headers

- `Idempotency-Key` (string, optional) — Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types. With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident.
- `Accept-Encoding` (string, optional) — Include the `Accept-Encoding: gzip` header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response. If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a `Content-Encoding` header with the compression algorithm so that your client can decompress it.
- `Content-Encoding` (string, optional) — Include the `Content-Encoding: gzip` header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.
- `Zuora-Track-Id` (string, optional) — A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue. The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (`:`), semicolon (`;`), double quote (`"`), and quote (`'`).
- `Zuora-Entity-Ids` (string, optional) — An entity ID. If you have [Zuora Multi-entity](https://knowledgecenter.zuora.com/BB_Introducing_Z_Business/Multi-entity) enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you should not set this header.

## Response

### 200

OK

- `schemas` (list of string, optional) — List of schema identifiers that define the structure of the response.
- `totalResults` (integer, optional) — Total number of resource types available.
- `resources` (list of ScimV2ResourceTypesGetResponsesContentApplicationJsonSchemaResourcesItems, optional) — List of resource types available.
- `startIndex` (integer, optional) — Index of the first item in the current page of results.
- `itemsPerPage` (integer, optional) — Number of items returned per page.

## Types

### ScimV2ResourceTypesGetResponsesContentApplicationJsonSchemaResourcesItems

- `schemas` (list of string, optional) — List of schema identifiers that define the structure of the resource type.
- `id` (string, optional) — Unique identifier of the resource type.
- `name` (string, optional) — Name of the resource type.
- `description` (string, optional) — Detailed description of the resource type.
- `endpoint` (string, optional) — API endpoint for accessing the resource type.
- `schema` (string, optional) — Schema identifier defining the structure of the resource type.
- `schemaExtensions` (list of ScimV2ResourceTypesGetResponsesContentApplicationJsonSchemaResourcesItemsSchemaExtensionsItems, optional) — List of schema extensions applied to the resource type.
- `meta` (ScimV2ResourceTypesGetResponsesContentApplicationJsonSchemaResourcesItemsMeta, optional) — Metadata about the resource type.

### ScimV2ResourceTypesGetResponsesContentApplicationJsonSchemaResourcesItemsSchemaExtensionsItems

- `schema` (string, optional) — Schema identifier for the extension.
- `required` (boolean, optional) — Indicates if the schema extension is required.

### ScimV2ResourceTypesGetResponsesContentApplicationJsonSchemaResourcesItemsMeta

Metadata about the resource type.

- `resourceType` (string, optional) — Type of the resource, which is 'ResourceType' for this object.
- `location` (string, optional) — URL where the resource type can be accessed.

## Examples

**Response**

```json
{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
  ],
  "totalResults": 2,
  "resources": [
    {
      "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:ResourceType"
      ],
      "id": "User",
      "name": "User",
      "description": "SCIM 2.0 User",
      "endpoint": "/v2/Users",
      "schema": "urn:ietf:params:scim:schemas:core:2.0:User",
      "schemaExtensions": [
        {
          "schema": "urn:zuora:scim:schemas:1.0:UserExtension",
          "required": true
        }
      ],
      "meta": {
        "resourceType": "ResourceType",
        "location": "http://localhost:9900/scim/v2/ResourceTypes/User"
      }
    },
    {
      "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:ResourceType"
      ],
      "id": "Group",
      "name": "Group",
      "description": "SCIM 2.0 Group",
      "endpoint": "/v2/Groups",
      "schema": "urn:ietf:params:scim:schemas:core:2.0:Group",
      "schemaExtensions": [
        {
          "schema": "urn:zuora:scim:schemas:1.0:GroupExtension",
          "required": true
        }
      ],
      "meta": {
        "resourceType": "ResourceType",
        "location": "http://localhost:9900/scim/v2/ResourceTypes/Group"
      }
    }
  ],
  "startIndex": 1,
  "itemsPerPage": 2
}
```

**SDK Code**

```python SCIM_getTheRessourceType_example
import requests

url = "https://rest.test.zuora.com/scim/v2/ResourceTypes"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript SCIM_getTheRessourceType_example
const url = 'https://rest.test.zuora.com/scim/v2/ResourceTypes';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go SCIM_getTheRessourceType_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://rest.test.zuora.com/scim/v2/ResourceTypes"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby SCIM_getTheRessourceType_example
require 'uri'
require 'net/http'

url = URI("https://rest.test.zuora.com/scim/v2/ResourceTypes")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java SCIM_getTheRessourceType_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://rest.test.zuora.com/scim/v2/ResourceTypes")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php SCIM_getTheRessourceType_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://rest.test.zuora.com/scim/v2/ResourceTypes', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp SCIM_getTheRessourceType_example
using RestSharp;

var client = new RestClient("https://rest.test.zuora.com/scim/v2/ResourceTypes");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift SCIM_getTheRessourceType_example
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://rest.test.zuora.com/scim/v2/ResourceTypes")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```