Marketo Custom Objects API

Upsert (insert or update) custom object records

Operations 18

POST /subscriptions/{munchkinId}/customobjects/{customObjectAPIName} Sync Custom Objects #
GET /rest/v1/customobjects.json List Custom Objects #
GET /rest/v1/customobjects/{customObjectName}.json Get Custom Objects #
POST /rest/v1/customobjects/{customObjectName}.json Sync Custom Objects #
POST /rest/v1/customobjects/{customObjectName}/delete.json Delete Custom Objects #
GET /rest/v1/customobjects/{customObjectName}/describe.json Describe Custom Objects #
GET /rest/v1/customobjects/schema.json List Custom Object Types #
POST /rest/v1/customobjects/schema.json Sync Custom Object Type #
POST /rest/v1/customobjects/schema/{apiName}/approve.json Approve Custom Object Type #
POST /rest/v1/customobjects/schema/{apiName}/discardDraft.json Discard Custom Object Type Draft #
POST /rest/v1/customobjects/schema/{apiName}/delete.json Delete Custom Object Type #
GET /rest/v1/customobjects/schema/{apiName}/describe.json Describe Custom Object Type #
POST /rest/v1/customobjects/schema/{apiName}/addField.json Add Custom Object Type Fields #
POST /rest/v1/customobjects/schema/{apiName}/deleteField.json Delete Custom Object Type Fields #
POST /rest/v1/customobjects/schema/{apiName}/{fieldApiName}/updateField.json Update Custom Object Type Field #
GET /rest/v1/customobjects/schema/fieldDataTypes.json Get Custom Object Type Field Data Types #
GET /rest/v1/customobjects/schema/linkableObjects.json Get Custom Object Linkable Objects #
GET /rest/v1/customobjects/schema/{apiName}/dependentAssets.json Get Custom Object Dependent Assets #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/marketo-custom-objects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

marketo-custom-objects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Marketo Custom Objects API
  version: '1.0'
  description: 'Operations tagged Custom Objects across 2 of this provider''s published API definitions: marketo-data-ingestion-openapi-original.json, marketo-lead-database-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://mkto-ingestion-api.adobe.io
  description: Marketo Data Ingestion API
- url: https://localhost:8080/
tags:
- name: Custom Objects
  description: Upsert (insert or update) custom object records
paths:
  /subscriptions/{munchkinId}/customobjects/{customObjectAPIName}:
    post:
      tags:
      - Custom Objects
      summary: Sync Custom Objects
      description: 'Upsert (insert or update) a list of custom object records. If a link field to a Person is specified in the request and that Person does not exist, several retries occur. If that Person is added during the retry window (65 minutes), then the update is successful. Required permission: `Read-Write Custom Object`.'
      operationId: syncCustomObjects
      parameters:
      - name: munchkinId
        in: path
        description: Marketo subscription Munchkin ID
        required: true
        schema:
          type: string
          example: 556-RJS-213
      - name: customObjectAPIName
        in: path
        description: The API name of the custom object type
        required: true
        schema:
          type: string
          example: purchases
      - name: X-Mkto-User-Token
        in: header
        description: Marketo API access token
        required: true
        schema:
          type: string
      - name: X-Correlation-Id
        in: header
        description: Arbitrary string (max 255 characters). Used to trace requests through the system via Marketo Observability Data Stream.
        schema:
          type: string
      - name: X-Request-Source
        in: header
        description: Arbitrary string (max 50 characters). Used to trace the source of requests.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyncCustomObjectsRequest'
            example:
              dedupeBy: dedupeFields
              priority: high
              customObjects:
              - email: brooklyn.parker@karnv.com
                vin: 20UYA31581L000000
                make: BMW
                model: 3-Series 330i
                year: 2003
              - email: johnny.neal@yvu30.com
                vin: 19UYA31581L000000
                make: BMW
                model: 3-Series 325i
                year: 1989
      responses:
        '202':
          description: Accepted – request accepted for async processing
          headers:
            X-Request-Id:
              description: Unique request ID
              schema:
                type: string
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized – OAuth token is invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    servers:
    - url: https://mkto-ingestion-api.adobe.io
      description: Marketo Data Ingestion API
  /rest/v1/customobjects.json:
    get:
      tags:
      - Custom Objects
      summary: List Custom Objects
      description: 'Returns a list of Custom Object types available in the target instance, along with id and deduplication information for each type. Required Permissions: Read-Only Custom Object, Read-Write Custom Object'
      operationId: listCustomObjectsUsingGET
      parameters:
      - name: names
        in: query
        description: Comma-separated list of names to filter types on
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfObjectMetaData'
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/{customObjectName}.json:
    get:
      tags:
      - Custom Objects
      summary: Get Custom Objects
      description: 'Retrieves a list of custom objects records based on filter and set of values. There are two unique types of requests for this endpoint: one is executed normally using a GET with URL parameters, the other is by passing a JSON object in the body of a POST and specifying _method=GET in the querystring. The latter is used when dedupeFields attribute has more than one field, which is known as a "compound key". Required Permissions: Read-Only Custom Object, Read-Write Custom Object'
      operationId: getCustomObjectsUsingGET
      parameters:
      - name: customObjectName
        in: path
        description: Name of custom object type to retrieve records for
        required: true
        schema:
          type: string
      - name: filterType
        in: query
        description: Field to filter on. Searchable fields can be retrieved with Describe Custom Object
        required: true
        schema:
          type: string
      - name: filterValues
        in: query
        description: Comma-separated list of field values to match against.
        required: true
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: fields
        in: query
        description: Comma-separated list of fields to return for each record. If unset marketoGuid, dedupeFields, updatedAt, createdAt will be returned
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: batchSize
        in: query
        description: The batch size to return. The max and default value is 300.
        required: false
        schema:
          type: integer
          format: int32
      - name: nextPageToken
        in: query
        description: A token will be returned by this endpoint if the result set is greater than the batch size and can be passed in a subsequent call through this parameter. See Paging Tokens for more info.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObject'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LookupCustomObjectRequest'
        description: Optional JSON request for retrieving custom objects with compound keys. Example:<br><code>{<br>"filterType":"dedupeFields",<br>"fields":[<br>"marketoGuid",<br>"Bedrooms",<br>"yearBuilt"<br>],<br>"input":[<br>{<br>"mlsNum":"1962352",<br>"houseOwnerId":"42645756"<br>},<br>{<br>"mlsNum":"3962352",<br>"houseOwnerId":"62645756"<br>}<br>]<br>}</code><br>
    post:
      tags:
      - Custom Objects
      summary: Sync Custom Objects
      description: 'Inserts, updates, or upserts custom object records to the target instance. Required Permissions: Read-Write Custom Object'
      operationId: syncCustomObjectsUsingPOST
      parameters:
      - name: customObjectName
        in: path
        description: customObjectName
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObject'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyncCustomObjectRequest'
        description: syncCustomObjectRequest
        required: true
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/{customObjectName}/delete.json:
    post:
      tags:
      - Custom Objects
      summary: Delete Custom Objects
      description: 'Deletes a given set of custom object records. Required Permissions: Read-Write Custom Object'
      operationId: deleteCustomObjectsUsingPOST
      parameters:
      - name: customObjectName
        in: path
        description: customObjectName
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObject'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteCustomObjectRequest'
        description: deleteCustomObjectRequest
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/{customObjectName}/describe.json:
    get:
      tags:
      - Custom Objects
      summary: Describe Custom Objects
      description: 'Returns metadata regarding a given custom object. Required Permissions: Read-Only Custom Object, Read-Write Custom Object'
      operationId: describeUsingGET_1
      parameters:
      - name: customObjectName
        in: path
        description: customObjectName
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfObjectMetaData'
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema.json:
    get:
      tags:
      - Custom Objects
      summary: List Custom Object Types
      description: 'Returns a list of Custom Object Types available in the target instance, along with id, deduplication, relationship, and field information for each type. Required Permissions: Read-Only Custom Object Type, Read-Write Custom Object Type'
      operationId: listCustomObjectTypesUsingGET
      parameters:
      - name: names
        in: query
        description: Comma-separated list of API names of custom object types to filter on
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: state
        in: query
        description: State of custom object type to filter on. By default, if an approved version exists, it is returned. Otherwise, the draft version is returned.
        required: false
        schema:
          type: string
          enum:
          - draft
          - approved
          - approvedWithDraft
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfObjectMetaData'
    post:
      tags:
      - Custom Objects
      summary: Sync Custom Object Type
      description: 'Inserts, updates, or upserts custom object type record to the target instance. Required Permissions: Read-Write Custom Object Type'
      operationId: syncCustomObjectTypeUsingPOST
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObjectType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyncCustomObjectTypeRequest'
        description: JSON object containing custom object type attributes
        required: true
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/{apiName}/approve.json:
    post:
      tags:
      - Custom Objects
      summary: Approve Custom Object Type
      description: 'Approves the current draft of the type, and makes it the live version. This will delete the current live version of the type. Required Permissions: Read-Write Custom Object Type'
      operationId: approveCustomObjectTypeUsingPOST
      parameters:
      - name: apiName
        in: path
        description: API Name of the custom object type to approve
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObjectType'
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/{apiName}/discardDraft.json:
    post:
      tags:
      - Custom Objects
      summary: Discard Custom Object Type Draft
      description: 'Discards the current draft of the custom object type. Required Permissions: Read-Write Custom Object Type'
      operationId: discardCustomObjectTypeUsingPOST
      parameters:
      - name: apiName
        in: path
        description: API Name of the custom object type draft to discard
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObjectType'
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/{apiName}/delete.json:
    post:
      tags:
      - Custom Objects
      summary: Delete Custom Object Type
      description: 'Deletes the target custom object type. The type must first be removed from use by any assets, such as triggers or filters. Required Permissions: Read-Write Custom Object Type'
      operationId: deleteCustomObjectTypeUsingPOST
      parameters:
      - name: apiName
        in: path
        description: API Name of the custom object type to delete
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObjectType'
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/{apiName}/describe.json:
    get:
      tags:
      - Custom Objects
      summary: Describe Custom Object Type
      description: 'Returns metadata regarding a given custom object type (including relationships and fields). Required Permissions: Read-Only Custom Object Type, Read-Write Custom Object Type'
      operationId: describeCustomObjectTypeUsingGET
      parameters:
      - name: apiName
        in: path
        description: API name of custom object type to describe
        required: true
        schema:
          type: string
      - name: state
        in: query
        description: State of custom object type to filter on. By default, if an approved version exists, it is returned. Otherwise, the draft version is returned.
        required: false
        schema:
          type: string
          enum:
          - draft
          - approved
          - approvedWithDraft
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfObjectMetaData'
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/{apiName}/addField.json:
    post:
      tags:
      - Custom Objects
      summary: Add Custom Object Type Fields
      description: 'Adds fields to custom object type. Required Permissions: Read-Write Custom Object Type'
      operationId: addCustomObjectTypeFieldsUsingPOST
      parameters:
      - name: apiName
        in: path
        description: API name of custom object type
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObjectType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddCustomObjectTypeFieldsRequest'
        description: JSON object containing custom object type fields
        required: true
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/{apiName}/deleteField.json:
    post:
      tags:
      - Custom Objects
      summary: Delete Custom Object Type Fields
      description: 'Deletes fields from custom object type. Required Permissions: Read-Write Custom Object Type'
      operationId: deleteCustomObjectTypeFieldsUsingPOST
      parameters:
      - name: apiName
        in: path
        description: API name of custom object type
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObjectType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteCustomObjectTypeFieldsRequest'
        description: JSON object containing custom object type fields
        required: true
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/{apiName}/{fieldApiName}/updateField.json:
    post:
      tags:
      - Custom Objects
      summary: Update Custom Object Type Field
      description: 'Updates a field in custom object type. Required Permissions: Read-Write Custom Object Type'
      operationId: updateCustomObjectTypeFieldUsingPOST
      parameters:
      - name: apiName
        in: path
        description: API name of custom object type
        required: true
        schema:
          type: string
      - name: fieldApiName
        in: path
        description: API name of custom object type field
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObjectType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomObjectTypeFieldRequest'
        description: JSON object containing custom object type fields
        required: true
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/fieldDataTypes.json:
    get:
      tags:
      - Custom Objects
      summary: Get Custom Object Type Field Data Types
      description: 'Returns a list of permissible data types that are assigned to custom object fields. Required Permissions: Read-Only Custom Object Type, Read-Write Custom Object Type'
      operationId: getCustomObjectTypeFieldDataTypesUsingGET
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfCustomObjectTypeFieldDataTypes'
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/linkableObjects.json:
    get:
      tags:
      - Custom Objects
      summary: Get Custom Object Linkable Objects
      description: 'Returns a list of linkable custom objects and their fields. Required Permissions: Read-Only Custom Object Type, Read-Write Custom Object Type'
      operationId: getCustomObjectTypeLinkableObjectsUsingGET
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfObjectLinkableObject'
    servers:
    - url: https://localhost:8080/
  /rest/v1/customobjects/schema/{apiName}/dependentAssets.json:
    get:
      tags:
      - Custom Objects
      summary: Get Custom Object Dependent Assets
      description: 'Returns a list of dependent assets for a custom object type, including their in-instance location. Required Permissions: Read-Only Custom Object Type, Read-Write Custom Object Type'
      operationId: getCustomObjectTypeDependentAssetsUsingGET
      parameters:
      - name: apiName
        in: path
        description: REST API name for custom object
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOfObjectDependentAssets'
    servers:
    - url: https://localhost:8080/
components:
  schemas:
    SyncCustomObjectsRequest:
      required:
      - customObjects
      type: object
      properties:
        priority:
          type: string
          description: Priority of the request.
          enum:
          - normal
          - high
          default: normal
        dedupeBy:
          type: string
          description: Attributes to deduplicate on.
          enum:
          - dedupeFields
          - marketoGUID
          default: dedupeFields
        customObjects:
          type: array
          description: List of attribute name-value pairs for the object.
          items:
            $ref: '#/components/schemas/CustomObject'
    CustomObject:
      type: object
      description: Custom object record. Fields depend on the custom object schema definition.
      additionalProperties: true
      example:
        email: brooklyn.parker@karnv.com
        vin: 20UYA31581L000000
        make: BMW
        model: 3-Series 330i
        year: 2003
    ErrorResponse:
      type: object
      description: Error response body returned for non-202 responses.
      properties:
        error_code:
          type: string
          description: Error code.
          example: '4000801'
        message:
          type: string
          description: Error message.
          example: Bad request
    ObjectMetaData:
      type: object
      required:
      - createdAt
      - dedupeFields
      - description
      - displayName
      - pluralName
      - fields
      - idField
      - apiName
      - relationships
      - searchableFields
      - updatedAt
      - status
      - version
      properties:
        createdAt:
          type: string
          format: date-time
          description: Datetime when the object type was created
        dedupeFields:
          type: array
          description: List of dedupe fields. Arrays with multiple members are compound keys
          items:
            type: string
        description:
          type: string
          description: Description of the object type
        displayName:
          type: string
          description: UI display-name of the object type
        pluralName:
          type: string
          description: UI plural-name of the custom object type
        fields:
          type: array
          description: List of fields available on the object type
          items:
            $ref: '#/components/schemas/ObjectField'
        idField:
          type: string
          description: Primary id key of the object type
        apiName:
          type: string
          description: Name of the object type
        relationships:
          type: array
          description: List of relationships which the object has
          items:
            $ref: '#/components/schemas/ObjectRelation'
        searchableFields:
          type: array
          description: List of fields valid for use as a filter type in a query
          items:
            type: array
            items:
              type: string
        updatedAt:
          type: string
          format: date-time
          description: Datetime when the object type was most recently updated
        state:
          type: string
          description: Approval state of object type
          enum:
          - draft
          - approved
          - approvedWithDraft
        version:
          type: string
          description: Version of object type that is returned in response
          enum:
          - draft
          - approved
    DeleteCustomObjectRequest:
      type: object
      required:
      - input
      properties:
        deleteBy:
          type: string
          description: Field to delete records by. Permissible values are idField or dedupeFields as indicated by the result of the corresponding describe record
        input:
          type: array
          description: List of input records
          items:
            $ref: '#/components/schemas/CustomObject_2'
    SyncCustomObjectRequest:
      type: object
      required:
      - input
      properties:
        action:
          type: string
          description: Type of sync operation to perform
          enum:
          - createOnly
          - updateOnly
          - createOrUpdate
        dedupeBy:
          type: string
          description: Field to deduplicate on. If the value in the field for a given record is not unique, an error will be returned for the individual record.
        input:
          type: array
          description: List of input records
          items:
            $ref: '#/components/schemas/CustomObject_2'
    ResponseOfCustomObject:
      type: object
      required:
      - errors
      - requestId
      - result
      - success
      - warnings
      properties:
        errors:
          type: array
          description: Array of errors that occurred if the request was unsuccessful
          items:
            $ref: '#/components/schemas/Error'
        moreResult:
          type: boolean
          example: false
          description: Boolean indicating if there are more results in subsequent pages
        nextPageToken:
          type: string
          description: Paging token given if the result set exceeded the allowed batch size
        requestId:
          type: string
          description: Id of the request made
        result:
          type: array
          description: Array of results for individual records in the operation, may be empty
          items:
            $ref: '#/components/schemas/CustomObject_2'
        success:
          type: boolean
          example: false
          description: Whether the request succeeded
        warnings:
          type: array
          description: Array of warnings given for the operation
          items:
            $ref: '#/components/schemas/Warning'
    ResponseOfObjectLinkableObject:
      type: object
      required:
      - errors
      - requestId
      - result
      - success
      - warnings
      properties:
        errors:
          type: array
          description: Array of errors that occurred if the request was unsuccessful
          items:
            $ref: '#/components/schemas/Error'
        requestId:
          type: string
          description: Id of the request made
        result:
          type: array
          description: List of permissible objects to use as custom object link field
          items:
            $ref: '#/components/schemas/ObjectLinkableObject'
        success:
          type: boolean
          example: false
          description: Whether the request succeeded
        warnings:
          type: array
          description: Array of warnings given for the operation
          items:
            $ref: '#/components/schemas/Warning'
    Reason:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          description: Integer code of the reason
        message:
          type: string
          description: Message describing the reason for the status of the operation
    RelatedObject:
      type: object
      required:
      - field
      - name
      properties:
        field:
          type: string
          description: Name of link field (within link object)
        name:
          type: string
          description: Name of the link object
    Error:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          description: Error code of the error. See full list of error codes <a href="https://developers.marketo.com/rest-api/error-codes/">here</a>
        message:
          type: string
          description: Message describing the cause of the error
    CustomObject_2:
      type: object
      required:
      - marketoGUID
      - seq
      properties:
        marketoGUID:
          type: string
          description: Unique GUID of the custom object records
        reasons:
          type: array
          description: List of reasons why an operation did not succeed. Reasons are only present in API responses and should not be submitted
          items:
            $ref: '#/components/schemas/Reason'
        seq:
          type: integer
          format: int32
          description: Integer indicating the sequence of the record in response. This value is correlated to the order of the records included in the request input. Seq should only be part of responses and should not be submitted.
    LookupCustomObjectRequest:
      type: object
      required:
      - input
      properties:
        batchSize:
          type: integer
          format: int32
          description: Maximum number of records to return in the response. Max and default is 300
        fields:
          type: array
          description: 'List of fields to return. If not specified, will return the following fields: marketoGuid, dedupeFields, updatedAt, createdAt, filterType'
          items:
            type: string
        filterType:
          type: string
          description: 'Field to search on. Valid values are: dedupeFields, idFields, and any field defined in searchableFields attribute of Describe endpoint. Default is dedupeFields'
        input:
          type: array
          description: Search values when using a compound key. Each element must include each of the fields in the compound key. Compound keys are determined by the contents of "dedupeFields" in the Describe result for the object
          items:
            $ref: '#/components/schemas/CustomObject_2'
        nextPageToken:
          type: string
          description: Paging token returned from a previous response
    DeleteCustomObjectTypeField:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: API Name of custom object type field
    CustomObjectTypeFieldRelatedTo:
      type: object
      required:
      - name
      - field
      properties:
        name:
          type: string
          description: Name of linkable object type
        field:
          type: string
          description: Foreign field to which the parent is linked
    ObjectField:
      type: object
      properties:
        dataType:
          type: string
          description: Datatype of the field
        displayName:
          type: string
          description: UI display-name of the field
        length:
          type: integer
          format: int32
          description: Max length of the field. Only applicable to text, string, and text area.
        name:
          type: string
          description: Name of the field
        updateable:
          type: boolean
          example: false
          description: Whether the field is updateable
        crmManaged:
          type: boolean
          example: false
          description: Whether the field is managed by CRM (native sync)
    ObjectLinkableObjectField:
      type: object
      required:
      - name
      - displayName
      - dataType
      properties:
        name:
          type: string
          description: Link field API name
        displayName:
          type: string
          description: Link field name
        dataType:
          type: string
          description: Link field data type
    ResponseOfCustomObjectType:
      type: object
      required:
      - errors
      - requestId
      - result
      - success
      - warnings
      properties:
        errors:
          type: array
          description: Array of errors that occurred if the request was unsuccessful
          items:
            $ref: '#/components/schemas/Error'
        requestId:
          type: string
          description: Id of the request made
        result:
          type: array
          description: Empty array
          items:
            $ref: '#/components/schemas/Empty'
        success:
          type: boolean
          example: false
          descripti

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/marketo/refs/heads/main/openapi/marketo-custom-objects-api-openapi.yml