Oneprofile Integration Types API
Endpoints for seeing all available integration types.
Endpoints for seeing all available integration types.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/getoneprofile-ai:getoneprofile-ai-integration-types-api"
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.
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: 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