> For a complete page index, fetch https://developer.close.com/llms.txt

# Update a custom field schema

PUT https://api.close.com/api/v1/custom_field_schema/{object_type}/
Content-Type: application/json

To reorder Custom Fields (and thus change the order in which they are displayed in the Close UI), you simply need to supply a `fields` list with `{"id": ...}` items corresponding to the IDs of the Custom Fields belonging to the given Schema. Note that any IDs that are omitted from the list with be automatically appended to the end of the list. If you want to remove some Fields from the Schema, then delete the Custom Field or – in case of Shared Custom Fields – disassociate the Field from the given object.

Reference: https://developer.close.com/api/resources/custom-fields/custom-field-schemas/update

## Authentication

- `Authorization` header (basic auth, required) — Use your API key as the username and leave the password empty.
- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `object_type` (string, required)

### Body (application/json)

This endpoint expects an any.

- `any`

## Response

### 200

Successful response

## Errors

### 400 Bad Request Error

Bad request

- `any`

### 401 Unauthorized Error

Unauthorized

- `any`

### 404 Not Found Error

Not found

- `any`

## Examples

**Request**

```json
{
  "fields": [
    {
      "id": "cf_aU54Bvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jgaKq"
    },
    {
      "id": "cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c"
    }
  ]
}
```

**Response**

```json
{
  "fields": [
    {
      "accepts_multiple_values": false,
      "associations": [
        {
          "editable_with_roles": [],
          "object_type": "lead",
          "required": false
        },
        {
          "editable_with_roles": [],
          "object_type": "contact",
          "required": false
        },
        {
          "custom_activity_type_id": "actitype_2FqdeKTAEfMTwD4SVWwXqX",
          "editable_with_roles": [],
          "object_type": "custom_activity_type",
          "required": true
        }
      ],
      "created_by": "user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk",
      "date_created": "2021-04-10T17:36:09.235000+00:00",
      "date_updated": "2021-04-10T17:36:09.235000+00:00",
      "description": "User responsible for this Lead/Contact/Activity.",
      "id": "cf_aU54Bvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jgaKq",
      "name": "Owner",
      "organization_id": "orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH",
      "type": "user",
      "updated_by": "user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk"
    },
    {
      "accepts_multiple_values": false,
      "choices": null,
      "created_by": "user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA",
      "date_created": "2014-11-07T05:06:09.422000+00:00",
      "date_updated": "2014-11-10T20:56:16.784000+00:00",
      "description": "The number of users in the company",
      "editable_with_roles": [],
      "id": "cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c",
      "name": "# of users",
      "organization_id": "orga_vfvFDAKGLybddKDJn8n7ElZZ3qyRF3QI8fJxTSAYr5X",
      "type": "number",
      "updated_by": "user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA"
    }
  ],
  "name": "Lead",
  "object_type": "lead",
  "organization_id": "orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH"
}
```

**SDK Code**

```python
import requests

url = "https://api.close.com/api/v1/custom_field_schema/:object_type/"

payload = { "fields": [{ "id": "cf_aU54Bvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jgaKq" }, { "id": "cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c" }] }
headers = {
    "Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers, auth=("<CLOSE_API_KEY>", ""))

print(response.json())
```

```javascript
const url = 'https://api.close.com/api/v1/custom_field_schema/:object_type/';
const credentials = btoa("<CLOSE_API_KEY>:");

const options = {
  method: 'PUT',
  headers: {Authorization: `Basic ${credentials}`, 'Content-Type': 'application/json'},
  body: '{"fields":[{"id":"cf_aU54Bvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jgaKq"},{"id":"cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c"}]}'
};

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

```go
package main

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

func main() {

	url := "https://api.close.com/api/v1/custom_field_schema/:object_type/"

	payload := strings.NewReader("{\n  \"fields\": [\n    {\n      \"id\": \"cf_aU54Bvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jgaKq\"\n    },\n    {\n      \"id\": \"cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c\"\n    }\n  ]\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.SetBasicAuth("<CLOSE_API_KEY>", "")
	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

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

url = URI("https://api.close.com/api/v1/custom_field_schema/:object_type/")

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

request = Net::HTTP::Put.new(url)
request.basic_auth("<CLOSE_API_KEY>", "")
request["Content-Type"] = 'application/json'
request.body = "{\n  \"fields\": [\n    {\n      \"id\": \"cf_aU54Bvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jgaKq\"\n    },\n    {\n      \"id\": \"cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c\"\n    }\n  ]\n}"

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

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

HttpResponse<String> response = Unirest.put("https://api.close.com/api/v1/custom_field_schema/:object_type/")
  .basicAuth("<CLOSE_API_KEY>", "")
  .header("Content-Type", "application/json")
  .body("{\n  \"fields\": [\n    {\n      \"id\": \"cf_aU54Bvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jgaKq\"\n    },\n    {\n      \"id\": \"cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c\"\n    }\n  ]\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api.close.com/api/v1/custom_field_schema/:object_type/', [
  'body' => '{
  "fields": [
    {
      "id": "cf_aU54Bvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jgaKq"
    },
    {
      "id": "cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c"
    }
  ]
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
    'auth' => ['<CLOSE_API_KEY>', ''],
]);

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

```csharp
using RestSharp;
using RestSharp.Authenticators;

var client = new RestClient("https://api.close.com/api/v1/custom_field_schema/:object_type/");
client.Authenticator = new HttpBasicAuthenticator("<CLOSE_API_KEY>", "");
var request = new RestRequest(Method.PUT);

request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"fields\": [\n    {\n      \"id\": \"cf_aU54Bvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jgaKq\"\n    },\n    {\n      \"id\": \"cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c\"\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```