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

# Get Custom Object Definition

> Returns the schema (table + field definitions) for a Custom Object Definition by its database table name.



## OpenAPI

````yaml /openapi/rest/openapi-v3-CustomObjectDefinition.json get /api/v1/CustomObjectDefinition/{definitionName}
openapi: 3.0.0
info:
  version: v1-REST
  title: SuperOffice REST API v1
  description: SuperOffice REST API - CustomObjectDefinition
  contact:
    name: SuperOffice DevNet
    url: https://docs.superoffice.com/en/api/index.html
    email: sdk@superoffice.com
servers:
  - url: http://localhost:56350
  - url: https://localhost:56350
security: []
tags: []
externalDocs:
  description: >-
    The SuperOffice DevNet Community has more documentation, examples, and
    discussion forums.
  url: https://community.superoffice.com/en/developer/
paths:
  /api/v1/CustomObjectDefinition/{definitionName}:
    get:
      tags:
        - CustomObjectDefinition
      summary: Get Custom Object Definition
      description: >-
        Returns the schema (table + field definitions) for a Custom Object
        Definition by its database table name.
      operationId: v1CustomObjectDefinition_GetCustomObjectDefinition
      parameters:
        - name: definitionName
          in: path
          description: >-
            Database table name of the Custom Object Definition, e.g.
            'y_equipment'.
          required: true
          schema:
            type: string
        - name: Accept-Language
          in: header
          description: >-
            Convert string references and multi-language values into a specified
            language (iso2) code.
          required: false
          schema:
            type: string
        - name: SO-Language
          in: header
          description: >-
            Convert string references and multi-language values into a specified
            language (iso2) code. Overrides Accept-Language value.
          required: false
          schema:
            type: string
        - name: SO-Culture
          in: header
          description: >-
            Number, date formatting in a specified culture (iso2 language) code.
            Partially overrides SO-Language/Accept-Language value. Ignored if no
            Language set.
          required: false
          schema:
            type: string
        - name: SO-TimeZone
          in: header
          description: >-
            Specify the timezone code that you would like date/time responses
            converted to.
          required: false
          schema:
            type: string
        - name: SO-AppToken
          in: header
          description: >-
            The application token that identifies the partner app. Used when
            calling Online WebAPI from a server.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/SuperOffice.CRM.Services.CustomObjectDefinition
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/SuperOffice.CRM.Services.CustomObjectDefinition
            application/xml:
              schema:
                $ref: >-
                  #/components/schemas/SuperOffice.CRM.Services.CustomObjectDefinition
            text/xml:
              schema:
                $ref: >-
                  #/components/schemas/SuperOffice.CRM.Services.CustomObjectDefinition
            application/json-patch+json:
              schema:
                $ref: >-
                  #/components/schemas/SuperOffice.CRM.Services.CustomObjectDefinition
            application/merge-patch+json:
              schema:
                $ref: >-
                  #/components/schemas/SuperOffice.CRM.Services.CustomObjectDefinition
      security:
        - SuperOffice_Password: []
          SuperId_Authentication: []
components:
  schemas:
    SuperOffice.CRM.Services.CustomObjectDefinition:
      description: "Schema definition for a Custom Object: the underlying table and its fields.\r\n<para />\r\nCarrier object for CustomObjectDefinition.\r\nServices for the CustomObjectDefinition Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.ICustomObjectAgent\">CustomObject Agent</see>."
      type: object
      properties:
        Id:
          format: int32
          description: Primary key in the extra-tables table.
          type: integer
        Name:
          description: Database table name of the Custom Object, e.g. 'y_equipment'.
          type: string
        Title:
          description: User-visible title of the Custom Object.
          type: string
        DisplayField:
          description: Name of the field used to represent a row in lists and previews.
          type: string
        Description:
          description: Description of the Custom Object.
          type: string
        IconId:
          format: int32
          description: Icon binary-object id used in the UI.
          type: integer
        Flags:
          format: int32
          description: Bitmask of ExtraTableFlag values.
          type: integer
        Fields:
          description: Field definitions for this Custom Object.
          type: array
          items:
            $ref: '#/components/schemas/SuperOffice.CRM.Services.CustomObjectField'
        TableRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.TableRight'
        FieldProperties:
          description: >-
            Field property dictionary mapping field names to field access
            rights.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldProperty'
    SuperOffice.CRM.Services.CustomObjectField:
      description: "Describes one field on a Custom Object Definition.\r\n<para />\r\nCarrier object for CustomObjectField.\r\nServices for the CustomObjectField Carrier is available from the <see cref=\"T:SuperOffice.CRM.Services.ICustomObjectAgent\">CustomObject Agent</see>."
      type: object
      properties:
        FieldName:
          description: Database column name of the field, e.g. 'x_equipment_type'.
          type: string
        FieldType:
          description: >-
            Field type, formatted as the string value of ExtraFieldType (e.g.
            'string', 'int', 'datetime').
          type: string
        DisplayName:
          description: User-visible name of the field.
          type: string
        Description:
          description: Description of the field.
          type: string
        UseDefaultValue:
          description: >-
            True if the field has a default value that should be used when
            creating new rows.
          type: boolean
        DefaultValue:
          description: >-
            Default value, formatted with CultureDataFormatter (e.g. '[I:1]' for
            an integer).
          type: string
        Rank:
          format: int32
          description: Display order of the field within the Custom Object Definition.
          type: integer
        IsDefault:
          description: >-
            True if the field is shown by default in list views (mirrors the
            ViewInList extra-field flag).
          type: boolean
    SuperOffice.CRM.Security.TableRight:
      description: "Wraps a table right together with an explanatory reason.\r\nCode can indicate why access is restricted."
      type: object
      properties:
        Mask:
          type: string
        Reason:
          type: string
    SuperOffice.CRM.Security.FieldProperty:
      description: >-
        Class holding properties like field length, field type about a field in
        the carrier.
      type: object
      properties:
        FieldRight:
          $ref: '#/components/schemas/SuperOffice.CRM.Security.FieldRight'
        FieldType:
          type: string
        FieldLength:
          format: int32
          description: ''
          type: integer
    SuperOffice.CRM.Security.FieldRight:
      description: "Wraps the field right together with an explanatory reason.\r\nAlso adds logical operators to the field rights so that they can be easily combined."
      type: object
      properties:
        Mask:
          type: string
        Reason:
          type: string

````

## Related topics

- [Get Custom Object Definition](/en/api/reference/restful/agent/customobject_agent/get-custom-object-definition.md)
- [SuperOffice.WebApi.Data.CustomObject GetCustomObjectDefinitionRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.CustomObject_GetCustomObjectDefinitionRequest.md)
- [SuperOffice.WebApi.Agents.CustomObjectAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.CustomObjectAgent.md)
- [Get Custom Object](/en/api/reference/restful/agent/customobject_agent/get-custom-object.md)
- [Create Default Custom Object Definition](/en/api/reference/restful/agent/customobject_agent/create-default-custom-object-definition.md)
