Oneprofile Integration Types API

Endpoints for seeing all available integration types.

GitHub OpenAPI

Operations 6

GET /integrations/categories/ List integration categories #
GET /integrations/categories/length/ Count integration categories #
GET /integrations/record-types/ List the record-type vocabulary #
GET /integrations/types/ List all available integration types #
GET /integrations/types/{name}/ Get a specific integration type #
GET /integrations/types/{name}/guide/ Get setup guide for an integration type #

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/getoneprofile-ai:getoneprofile-ai-integration-types-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

getoneprofile-ai-integration-types-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@getoneprofile.ai
    name: Oneprofile Support
  description: REST API reference for Oneprofile, the GTM data layer for your CRM. Manage tables, enrichments, and integrations. Authenticate with an API key to get started.
  termsOfService: https://www.getoneprofile.ai/terms
  title: Reference | Oneprofile Integration Types API
  version: 1.0.42765316646
tags:
- description: Endpoints for seeing all available integration types.
  name: integration-types
paths:
  /integrations/categories/:
    get:
      description: List the directory's integration categories with their descriptions, by name. Each says how many integrations it holds, 'coming soon' ones included; the catalog's overall size is GET /integrations/categories/length/.
      operationId: list_integration_categories
      parameters:
      - description: The number of items to return.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of items to return.
          maximum: 100
          minimum: 1
          title: Limit
          type: integer
      - in: query
        name: order_by
        required: false
        schema:
          $ref: '#/components/schemas/OrderingParametersForIdName'
          default: name
          enum:
          - id
          - name
          type: string
      - in: query
        name: order_direction
        required: false
        schema:
          default: asc
          enum:
          - asc
          - desc
          title: Order Direction
          type: string
      - description: Set the cursor to the next or previous page. You can get the cursor from the previous page's response.
        in: query
        name: cursor
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Set the cursor to the next or previous page. You can get the cursor from the previous page's response.
          title: Cursor for pagination.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_CategoryReadSchema_'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Invalid request made to the API.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: List integration categories
      tags:
      - integration-types
  /integrations/categories/length/:
    get:
      description: 'How many categories the directory has, and after it integration_count: how many integrations the directory holds in all, ''coming soon'' ones included. The directory''s headline size.'
      operationId: count_integration_categories
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationCategoryCountSchema'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Invalid request made to the API.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: Count integration categories
      tags:
      - integration-types
  /integrations/record-types/:
    get:
      description: List the global vocabulary of record types across all integrations, as display-ready options for the record-type filter on the integrations list and the directory. Includes a single 'Custom' entry when any integration accepts arbitrary record types.
      operationId: list_record_type_vocabulary
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_IntegrationRecordTypeReadSchema_'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Invalid request made to the API.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: List the record-type vocabulary
      tags:
      - integration-types
  /integrations/types/:
    get:
      description: List all available integration types with their categories, display names and descriptions. Supports search, category, and kind filtering.
      operationId: list_integration_types
      parameters:
      - in: query
        name: filters
        required: true
        schema:
          $ref: '#/components/schemas/ListIntegrationTypesFilterParamsSchema'
      - description: The number of items to return.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of items to return.
          maximum: 100
          minimum: 1
          title: Limit
          type: integer
      - in: query
        name: order_by
        required: false
        schema:
          $ref: '#/components/schemas/OrderingParametersForIdCreatedAtUpdatedAtName'
          default: name
          enum:
          - id
          - created_at
          - updated_at
          - name
          type: string
      - in: query
        name: order_direction
        required: false
        schema:
          default: asc
          enum:
          - asc
          - desc
          title: Order Direction
          type: string
      - description: Set the cursor to the next or previous page. You can get the cursor from the previous page's response.
        in: query
        name: cursor
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Set the cursor to the next or previous page. You can get the cursor from the previous page's response.
          title: Cursor for pagination.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_IntegrationTypeReadSchema_'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Invalid request made to the API.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: List all available integration types
      tags:
      - integration-types
  /integrations/types/{name}/:
    get:
      description: Get detailed information about a specific integration type by its name. Returns the integration type's categories, display name, description, and configuration schemas.
      operationId: get_integration_type
      parameters:
      - in: path
        name: name
        required: true
        schema:
          maxLength: 255
          minLength: 1
          title: Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationTypeReadSchema'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Integration type not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Invalid request made to the API.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: Get a specific integration type
      tags:
      - integration-types
  /integrations/types/{name}/guide/:
    get:
      description: Get the setup guide for a specific integration type. Returns the full guide content as markdown with step-by-step instructions for obtaining credentials and configuring the integration.
      operationId: get_integration_type_guide
      parameters:
      - in: path
        name: name
        required: true
        schema:
          maxLength: 255
          minLength: 1
          title: Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationTypeGuideReadSchema'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: No guide found for this integration type
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Invalid request made to the API.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Internal server error.
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Bad gateway error.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerErrorResponse'
          description: Service unavailable.
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      summary: Get setup guide for an integration type
      tags:
      - integration-types
components:
  schemas:
    IntegrationKindFilter:
      description: 'Query filter: source-only, destination-only, or both.'
      enum:
      - source
      - destination
      - both
      title: IntegrationKindFilter
      type: string
    UnprocessableEntityIssue:
      properties:
        input:
          anyOf:
          - type: string
          - type: integer
          - type: number
          - type: boolean
          - items: {}
            type: array
          - additionalProperties: true
            type: object
          description: The user's input that caused the error.
          title: Input
        loc:
          description: The location of the error. Always contains 1 or 2 elements. The first element is the type of location (e.g. 'body', 'query', 'path', 'header'). The second element is the name of the field that caused the error. If the error is not related to a specific field, the second element is not present.
          items:
            type: string
          title: Loc
          type: array
        msg:
          description: The message of the error. The error message to show to the user.
          title: Msg
          type: string
        type:
          description: The type of the error. Useful for frontend code to handle different types of errors.
          title: Type
          type: string
      required:
      - loc
      - msg
      - type
      - input
      title: UnprocessableEntityIssue
      type: object
    UnprocessableEntityResponse:
      properties:
        detail:
          description: The detail of the error. This is the error message to show to the user. You should also use the issues field to show more detailed error messages per field. Use this field for a single liner error message.
          title: Detail
          type: string
        issues:
          description: The issues that caused the error. There can be multiple issues. Each issue is a user-facing error message.
          items:
            $ref: '#/components/schemas/UnprocessableEntityIssue'
          title: Issues
          type: array
      required:
      - detail
      - issues
      title: UnprocessableEntityResponse
      type: object
    NotFoundResponse:
      properties:
        detail:
          description: The detail of why the resource was not found.
          title: Detail
          type: string
      required:
      - detail
      title: NotFoundResponse
      type: object
    PaginatedResponse_CategoryReadSchema_:
      properties:
        data:
          description: The list of ResponseItems.
          items:
            $ref: '#/components/schemas/CategoryReadSchema'
          title: Data
          type: array
        next_page_cursor:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor to the next page. If there are no more pages, this is None.
        previous_page_cursor:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor to the previous page. If there are no previous pages, this is None.
      title: PaginatedResponse[CategoryReadSchema]
      type: object
    IntegrationConnectMethod:
      description: 'How a user connects an integration in the UI.


        Extensible: as app listings gain non-OAuth connect flows (e.g. install-bound URL secret,

        per-install signature), add members here rather than another boolean.


        An integration *type* can advertise more than one of these (see

        ``IntegrationTypeRead.connect_methods``); a specific *connection* records the single method it

        was created with on ``IntegrationModel.connect_method``.'
      enum:
      - oauth_connect
      - credentials_form
      title: IntegrationConnectMethod
      type: string
    ServerErrorResponse:
      properties:
        detail:
          description: The detail of why the server returned an error.
          title: Detail
          type: string
      required:
      - detail
      title: ServerErrorResponse
      type: object
    PaginatedResponse_IntegrationRecordTypeReadSchema_:
      properties:
        data:
          description: The list of ResponseItems.
          items:
            $ref: '#/components/schemas/IntegrationRecordTypeReadSchema'
          title: Data
          type: array
        next_page_cursor:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor to the next page. If there are no more pages, this is None.
        previous_page_cursor:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor to the previous page. If there are no previous pages, this is None.
      title: PaginatedResponse[IntegrationRecordTypeReadSchema]
      type: object
    ForbiddenResponse:
      properties:
        detail:
          description: The detail of why the request is forbidden.
          title: Detail
          type: string
      required:
      - detail
      title: ForbiddenResponse
      type: object
    IntegrationTypeReadSchema:
      description: Integration type metadata for the directory listing.
      properties:
        categories:
          description: e.g. ['CRM', 'Marketing Automation']
          items:
            type: string
          title: Categories
          type: array
        company_domain:
          description: e.g. 'google.com', 'intercom.com'
          title: Company Domain
          type: string
        config_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: OpenAPI schema for connection settings. None if not implemented.
          title: Config Schema
        connect_methods:
          description: The ways a user can connect this integration. Contains 'oauth_connect' when an app-listing OAuth manifest exists, and 'credentials_form' when the SDK exposes a non-empty (API-key) credentials form. A single-method type returns exactly one entry (the UI renders as before); a type supporting both returns both (the UI shows a chooser). Empty for unimplemented types.
          items:
            $ref: '#/components/schemas/IntegrationConnectMethod'
          title: Connect Methods
          type: array
        created_at:
          description: When added to directory
          format: date-time
          title: Created At
          type: string
        credentials_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: OpenAPI schema for auth credentials. None if not implemented.
          title: Credentials Schema
        description:
          description: What the integration does, shown in detail view
          title: Description
          type: string
        display_name:
          description: UI label. e.g. 'Google Sheets'
          title: Display Name
          type: string
        icon_url:
          description: Full URL to icon. e.g. 'https://static.../intercom.svg'
          title: Icon Url
          type: string
        id:
          description: Unique ID. e.g. '123e4567-e89b-12d3-a456-426614174000'
          format: uuid
          title: Id
          type: string
        implemented:
          description: False = coming soon, can't connect yet
          title: Implemented
          type: boolean
        integration_type:
          description: Unique ID. e.g. 'googlesheets', 'intercom'
          title: Integration Type
          type: string
        is_marketplace_listing:
          default: false
          description: 'True when this integration has a marketplace app-listing (OAuth-connect or credentials-form). Orthogonal to connect_method: the directory renders a ''Connect <X>'' button for a marketplace listing even when connect_method is ''credentials_form''. Derived from the app-listings catalog.'
          title: Is Marketplace Listing
          type: boolean
        kind:
          $ref: '#/components/schemas/IntegrationKindFilter'
          default: both
          description: '''source'', ''destination'', or ''both'''
        name:
          description: Sort key. e.g. 'Google Sheets', 'Intercom'
          title: Name
          type: string
        overview:
          description: Brief overview of the integration's sync capabilities
          title: Overview
          type: string
        record_types:
          description: Record types this integration syncs, as display-ready chips. Empty for 'coming soon' integrations. Wildcard integrations include a 'Custom' marker.
          items:
            $ref: '#/components/schemas/IntegrationRecordTypeReadSchema'
          title: Record Types
          type: array
        tagline:
          description: Short tagline naming key data objects synced
          title: Tagline
          type: string
        updated_at:
          description: Last metadata update
          format: date-time
          title: Updated At
          type: string
      required:
      - id
      - name
      - integration_type
      - display_name
      - company_domain
      - categories
      - description
      - tagline
      - overview
      - icon_url
      - implemented
      - config_schema
      - credentials_schema
      - created_at
      - updated_at
      title: IntegrationTypeReadSchema
      type: object
    UnauthorizedResponse:
      properties:
        detail:
          description: The detail of why the request is unauthorized.
          title: Detail
          type: string
      required:
      - detail
      title: UnauthorizedResponse
      type: object
    IntegrationCategoryCountSchema:
      description: How many categories the directory has, and how many integrations they hold in all.
      properties:
        count:
          description: The number of categories.
          title: Count
          type: integer
        integration_count:
          description: 'The number of integrations in the directory, across every category: the catalog''s overall size. Counted the way each category''s integration_count is, ''coming soon'' entries included.'
          title: Integration Count
          type: integer
      required:
      - count
      - integration_count
      title: IntegrationCategoryCountSchema
      type: object
    PaginatedResponse_IntegrationTypeReadSchema_:
      properties:
        data:
          description: The list of ResponseItems.
          items:
            $ref: '#/components/schemas/IntegrationTypeReadSchema'
          title: Data
          type: array
        next_page_cursor:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor to the next page. If there are no more pages, this is None.
        previous_page_cursor:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor to the previous page. If there are no previous pages, this is None.
      title: PaginatedResponse[IntegrationTypeReadSchema]
      type: object
    IntegrationRecordTypeReadSchema:
      description: 'A record type an integration handles, with a display-ready name.


        Shared by the integrations list, the directory, and the record-type vocabulary endpoint so

        record-type chips render the same way everywhere.'
      properties:
        display_name:
          description: Human-readable name (e.g. 'Person', 'Contacts', 'Custom').
          title: Display Name
          type: string
        is_custom:
          description: True for the wildcard 'Custom' marker (arbitrary/dynamic record types).
          title: Is Custom
          type: boolean
        slug:
          description: The record-type slug (e.g. 'person', 'contacts'), or '*' for Custom.
          title: Slug
          type: string
      required:
      - slug
      - display_name
      - is_custom
      title: IntegrationRecordTypeReadSchema
      type: object
    IntegrationTypeGuideReadSchema:
      description: Setup guide for an integration type.
      properties:
        content:
          description: Full guide content as markdown.
          title: Content
          type: string
        integration_type:
          description: The integration type slug (e.g., 'stripe').
          title: Integration Type
          type: string
      required:
      - integration_type
      - content
      title: IntegrationTypeGuideReadSchema
      type: object
    ListIntegrationTypesFilterParamsSchema:
      description: Filter parameters for listing integration types.
      properties:
        boost_categories:
          anyOf:
          - items:
              maxLength: 255
              type: string
            maxItems: 50
            type: array
          - type: 'null'
          description: Category slugs to boost. Integrations in these categories appear first in results.
          title: Boost Categories
        category_slug:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          description: Filter integration types by category slug
          title: Category Slug
        kind:
          anyOf:
          - $ref: '#/components/schemas/IntegrationKindFilter'
          - type: 'null'
          description: Filter by integration kind
        record_type__in:
          anyOf:
          - items:
              maxLength: 255
              type: string
            maxItems: 50
            type: array
          - type: 'null'
          description: Filter to integration types that sync any of these record types (match ANY). Unknown slugs are ignored; wildcard integrations always match.
          title: Record Type  In
        search:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          description: Search integration types by name or description
          title: Search
      title: ListIntegrationTypesFilterParamsSchema
      type: object
    OrderingParametersForIdCreatedAtUpdatedAtName:
      enum:
      - id
      - created_at
      - updated_at
      - name
      title: OrderingParametersForIdCreatedAtUpdatedAtName
      type: string
    OrderingParametersForIdName:
      enum:
      - id
      - name
      title: OrderingParametersForIdName
      type: string
    CategoryReadSchema:
      properties:
        description:
          description: The description of the category.
          title: Description
          type: string
        id:
          description: The category's id.
          format: uuid
          title: Id
          type: string
        integration_count:
          description: Number of integrations in this category (includes 'coming soon'; static regardless of search).
          title: Integration Count
          type: integer
        name:
          description: The name of the category.
          title: Name
          type: string
        slug:
          description: The slug of the category.
          title: Slug
          type: string
      required:
      - id
      - name
      - slug
      - description
      - integration_count
      title: CategoryReadSchema
      type: object
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-API-Key
      type: apiKey
    HTTPBearer:
      scheme: bearer
      type: http