Ontraport Objects API

Generic CRUD operations across Ontraport object types.

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/ontraport-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 email required.

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

OpenAPI Specification

ontraport-objects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Ontraport REST Metadata Objects API
  description: 'Ontraport''s REST API exposes CRUD access to contacts, transactions, tags,

    sequences, forms, landing pages, and ecommerce objects. Authentication uses

    `Api-Key` and `Api-Appid` HTTP headers. All endpoints share a generic object

    interface where the object type is specified via parameters.

    '
  version: 1.0.0
  contact:
    name: Ontraport Developer Documentation
    url: https://api.ontraport.com/doc/
servers:
- url: https://api.ontraport.com/1
  description: Ontraport REST API v1
security:
- ApiKeyAuth: []
  AppIdAuth: []
tags:
- name: Objects
  description: Generic CRUD operations across Ontraport object types.
paths:
  /objects:
    get:
      tags:
      - Objects
      summary: List objects
      description: Retrieves a collection of objects based on a set of parameters.
      parameters:
      - $ref: '#/components/parameters/ObjectTypeId'
      - name: start
        in: query
        schema:
          type: integer
      - name: range
        in: query
        schema:
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/ObjectsResponse'
    post:
      tags:
      - Objects
      summary: Create object
      description: Adds new data to your database.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectInput'
      responses:
        '200':
          $ref: '#/components/responses/ObjectResponse'
    put:
      tags:
      - Objects
      summary: Update object
      description: Updates existing object data.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectInput'
      responses:
        '200':
          $ref: '#/components/responses/ObjectResponse'
    delete:
      tags:
      - Objects
      summary: Delete object(s)
      description: Permanently removes data from the database.
      parameters:
      - $ref: '#/components/parameters/ObjectTypeId'
      - name: id
        in: query
        schema:
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/SimpleResponse'
  /object:
    get:
      tags:
      - Objects
      summary: Retrieve a single object by ID
      parameters:
      - $ref: '#/components/parameters/ObjectTypeId'
      - name: id
        in: query
        required: true
        schema:
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/ObjectResponse'
  /objects/saveorupdate:
    post:
      tags:
      - Objects
      summary: Save or update object
      description: Creates a new object or merges with an existing one if a unique field matches.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectInput'
      responses:
        '200':
          $ref: '#/components/responses/ObjectResponse'
  /objects/tag:
    get:
      tags:
      - Objects
      summary: Retrieve objects by tag
      parameters:
      - $ref: '#/components/parameters/ObjectTypeId'
      - name: tag_id
        in: query
        schema:
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/ObjectsResponse'
  /object/getByEmail:
    get:
      tags:
      - Objects
      summary: Retrieve object ID by email
      parameters:
      - $ref: '#/components/parameters/ObjectTypeId'
      - name: email
        in: query
        required: true
        schema:
          type: string
          format: email
      responses:
        '200':
          $ref: '#/components/responses/SimpleResponse'
components:
  parameters:
    ObjectTypeId:
      name: objectID
      in: query
      required: true
      description: Numeric Ontraport object type ID (e.g. 0 = Contacts).
      schema:
        type: integer
  schemas:
    ObjectsListResponse:
      type: object
      additionalProperties: true
      properties:
        code:
          type: integer
        data:
          type: array
          items:
            type: object
            additionalProperties: true
    ObjectInput:
      type: object
      additionalProperties: true
      properties:
        objectID:
          type: integer
        email:
          type: string
          format: email
        firstname:
          type: string
        lastname:
          type: string
    ObjectResponse:
      type: object
      additionalProperties: true
      properties:
        code:
          type: integer
        data:
          type: object
          additionalProperties: true
  responses:
    ObjectsResponse:
      description: Collection of objects response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ObjectsListResponse'
    ObjectResponse:
      description: Single object response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ObjectResponse'
    SimpleResponse:
      description: Generic response
      content:
        application/json:
          schema:
            type: object
            additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Api-Key
    AppIdAuth:
      type: apiKey
      in: header
      name: Api-Appid