> ## Documentation Index
> Fetch the complete documentation index at: https://developers.leadwaycrm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Object Schema by key / id

> Retrieve Object Schema by key or ID. This will return the schema of the custom object, including all its fields and properties. Supported objects include contact, opportunity, business and custom obje

Retrieve Object Schema by key or ID. This will return the schema of the custom object, including all its fields and properties. Supported objects include contact, opportunity, business and custom objects.To understand objects and records, please have a look the documentation here : [https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0](https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0)

```http theme={null}
GET https://services.leadconnectorhq.com/objects/{key}
```

## Autorización

<ParamField header="Authorization" type="string" required>
  Bearer token generado desde el portal Leadway. Ver [Autenticación](/authentication).
</ParamField>

<ParamField header="Version" type="string" required default="2021-07-28">
  Versión de la API.
</ParamField>

## Path parameters

<ParamField path="key" type="string" required default="custom_objects.pet">
  key of the custom or standard object. For custom objects, the key must include the prefix “custom\_objects.”. This key can be found on the Object Details page under Settings in the UI.
</ParamField>

## Query parameters

<ParamField query="locationId" type="string" required default="632c34b4c9b7da3358ac9891">
  account id of the sub account
</ParamField>

<ParamField query="fetchProperties" type="string" default="True">
  Fetch Properties , Fetches all the standard / custom fields of the object when set to true
</ParamField>

## Respuestas

<Accordion title="200 - Successful response">
  <ResponseField name="object" type="object">
    <Expandable title="propiedades">
      <ResponseField name="id" type="string" required default="661c06b4ffde146bdb469442">
        id of the custom / standard object schema
      </ResponseField>

      <ResponseField name="standard" type="boolean" required default="False">
        false in case of custom objects and true in case of standard objects like contacts and opportunities
      </ResponseField>

      <ResponseField name="key" type="string" required default="custom_objects.pet">
        key that would be used to refer the custom / standard Object internally (lowercase + underscore\_separated). For custom objects, 'custom\_objects.' would be added as prefix by default
      </ResponseField>

      <ResponseField name="labels" type="object" required>
        This is what your custom / standard  object will be called. These labels will be used to display your custom object on the UI
      </ResponseField>

      <ResponseField name="description" type="string" default="These are non vaccinated pets">
        Custom / Standard  Object Descriptions for example , Pet Object\`s description
      </ResponseField>

      <ResponseField name="locationId" type="string" required default="Q9DT3OAqEXDLYuob1G32">
        account's id
      </ResponseField>

      <ResponseField name="primaryDisplayProperty" type="string" required default="custom_objects.pet.name">
        Primary property for the custom / standard  Object. This would be used as primary data when rendering the UI. 'custom\_objects.\{\{object\_key}} or business.\{\{object\_key}} (for company)' would be added as prefix by default for all the custom / standard objects
      </ResponseField>

      <ResponseField name="dateAdded" type="string" required>
        Date and time when the object was added
      </ResponseField>

      <ResponseField name="dateUpdated" type="string" required>
        Date and time when the object was last updated
      </ResponseField>

      <ResponseField name="type" type="object" default="The Object type can either USER_DEFINED or SYSTEM_DEFINED">
        Object\`s Type
      </ResponseField>
    </Expandable>
  </ResponseField>

  <ResponseField name="cache" type="boolean" required default="True">
    Is the response served from cache
  </ResponseField>

  <ResponseField name="fields" type="object[]">
    <Expandable title="cada item">
      <ResponseField name="locationId" type="string" required default="ve9EPM428h8vShlRW1KT">
        Account Id
      </ResponseField>

      <ResponseField name="name" type="string" default="Name">
        Field name
      </ResponseField>

      <ResponseField name="description" type="string">
        Description of the field
      </ResponseField>

      <ResponseField name="placeholder" type="string">
        Placeholder text for the field
      </ResponseField>

      <ResponseField name="showInForms" type="boolean" required>
        Whether the field should be shown in forms
      </ResponseField>

      <ResponseField name="options" type="object[]">
        Options for the field (Optional, valid only for SINGLE\_OPTIONS, MULTIPLE\_OPTIONS, RADIO, CHECKBOX, TEXTBOX\_LIST type)

        <Expandable title="cada item">
          <ResponseField name="key" type="string" required>
            Key of the option (Included in Create and Response, excluded in Update)
          </ResponseField>

          <ResponseField name="label" type="string" required>
            Value of the option
          </ResponseField>

          <ResponseField name="url" type="string">
            URL associated with the option (Optional, valid only for RADIO type)
          </ResponseField>
        </Expandable>
      </ResponseField>

      <ResponseField name="acceptedFormats" type="string">
        Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all Posibles valores: '.pdf', '.docx', '.doc', '.jpg', '.jpeg', '.png', '.gif', '.csv', '.xlsx', '.xls', 'all'
      </ResponseField>

      <ResponseField name="id" type="string" required>
        Unique identifier of the object
      </ResponseField>

      <ResponseField name="objectKey" type="string" required default="custom_object.pet">
        The key for your custom / standard object. This key uniquely identifies the custom object. Example: "custom\_object.pet" for a custom object related to pets.
      </ResponseField>

      <ResponseField name="dataType" type="string" required>
        Type of field that you are trying to create Posibles valores: 'TEXT', 'LARGE\_TEXT', 'NUMERICAL', 'PHONE', 'MONETORY', 'CHECKBOX', 'SINGLE\_OPTIONS', 'MULTIPLE\_OPTIONS', 'DATE', 'TEXTBOX\_LIST', 'FILE\_UPLOAD', 'RADIO'
      </ResponseField>

      <ResponseField name="parentId" type="string" required default="3v34PM428h8vShlRW1KT">
        ID of the parent folder
      </ResponseField>

      <ResponseField name="fieldKey" type="string" required default="custom_object.pet.name">
        Field key. For Custom Object it's formatted as "custom\_object.\{objectKey}.\{fieldKey}". "custom\_object" is a fixed prefix, "\{objectKey}" is your custom object's identifier, and "\{fieldName}" is the unique field name within that object. Example: "custom\_object.pet.name" for a "name" field in a "pet" custom object.
      </ResponseField>

      <ResponseField name="allowCustomOption" type="boolean" default="True">
        Determines if users can add a custom option value different from the predefined options in records for RADIO type fields. A custom value added in one record does not automatically become an option and will not appear as an option for other records.
      </ResponseField>

      <ResponseField name="maxFileLimit" type="number" default="2">
        Maximum file limit for uploads
      </ResponseField>

      <ResponseField name="dateAdded" type="string" required>
        Date and time when the object was added
      </ResponseField>

      <ResponseField name="dateUpdated" type="string" required>
        Date and time when the object was last updated
      </ResponseField>
    </Expandable>
  </ResponseField>

  ```json theme={null}
  {
    "object": {
      "id": "661c06b4ffde146bdb469442",
      "standard": false,
      "key": "custom_objects.pet",
      "labels": {
        "singular": "Pet",
        "plural": "Pets"
      },
      "description": "These are non vaccinated pets",
      "locationId": "Q9DT3OAqEXDLYuob1G32",
      "primaryDisplayProperty": "custom_objects.pet.name",
      "dateAdded": "2024-01-15T10:30:00Z",
      "dateUpdated": "2024-01-15T10:30:00Z",
      "type": "The Object type can either USER_DEFINED or SYSTEM_DEFINED"
    },
    "cache": true,
    "fields": [
      {
        "locationId": "ve9EPM428h8vShlRW1KT",
        "name": "Name",
        "description": "string",
        "placeholder": "string",
        "showInForms": true,
        "options": [
          {}
        ],
        "acceptedFormats": ".pdf",
        "id": "string",
        "objectKey": "custom_object.pet",
        "dataType": "TEXT",
        "parentId": "3v34PM428h8vShlRW1KT",
        "fieldKey": "custom_object.pet.name",
        "allowCustomOption": true,
        "maxFileLimit": 2,
        "dateAdded": "2024-01-15T10:30:00Z",
        "dateUpdated": "2024-01-15T10:30:00Z"
      }
    ]
  }
  ```
</Accordion>

<Accordion title="400 - Bad Request">
  ```json theme={null}
  {}
  ```
</Accordion>

<Accordion title="401 - Unauthorized">
  ```json theme={null}
  {}
  ```
</Accordion>

<Accordion title="422 - Unprocessable Entity">
  ```json theme={null}
  {}
  ```
</Accordion>

## Ejemplo

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET 'https://services.leadconnectorhq.com/objects/YOUR_key' \
    -H 'Authorization: Bearer YOUR_TOKEN' \
    -H 'Version: 2021-07-28'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://services.leadconnectorhq.com/objects/YOUR_key', {
    method: 'GET',
    headers: {
      Authorization: `Bearer ${process.env.LEADWAY_TOKEN}`,
      Version: '2021-07-28',
    },
  });
  const data = await response.json();
  ```

  ```python Python theme={null}
  import os, requests
  response = requests.request(
      'GET',
      'https://services.leadconnectorhq.com/objects/YOUR_key',
      headers={
          'Authorization': f"Bearer {os.environ['LEADWAY_TOKEN']}",
          'Version': '2021-07-28',
      },
  )
  data = response.json()
  ```

  ```php PHP theme={null}
  <?php
  $ch = curl_init('https://services.leadconnectorhq.com/objects/YOUR_key');
  curl_setopt_array($ch, [
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_CUSTOMREQUEST => 'GET',
      CURLOPT_HTTPHEADER => [
          'Authorization: Bearer ' . getenv('LEADWAY_TOKEN'),
          'Version: 2021-07-28',
      ],
  ]);
  $data = json_decode(curl_exec($ch), true);
  ```
</CodeGroup>
