ActiveCampaign AI Customization Documents API
Manage documents attached to AI customization profiles.
Manage documents attached to AI customization profiles.
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/activecampaign-ai-customization-documents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Partners AI Customization Documents API
description: Partners Hub API documentation
version: 1.0.0
servers:
- url: https://agency-partner-hub-web.global-aws-use1-p.app-us1.com/
description: Production
tags:
- name: AI Customization Documents
description: Manage documents attached to AI customization profiles.
paths:
/api/ai-customizations/v1/profiles/{profile_id}/documents:
get:
tags:
- AI Customization Documents
operationId: get_ai_customizations_documents_list
parameters:
- name: profile_id
in: path
required: true
schema:
type: integer
maximum: 9223372036854776000
minimum: 1
pattern: '[1-9][0-9]{0,18}'
- name: page
in: query
required: false
schema:
type: integer
default: 1
minimum: 1
- name: limit
in: query
required: false
schema:
type: integer
default: 20
maximum: 100
minimum: 1
responses:
'200':
description: Paginated list of documents for the profile
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileDocumentListResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
type: https://tools.ietf.org/html/rfc2616#section-10
title: An error occurred
status: 400
detail: Bad Request
'401':
description: Authorization error
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
'404':
description: Profile not found
security:
- PartnerApiKey: []
- PartnerJwtBearerAuth: []
summary: Get a list of documents for a profile
post:
tags:
- AI Customization Documents
operationId: post_ai_customizations_documents_upload
parameters:
- name: profile_id
in: path
required: true
schema:
type: string
pattern: '[1-9][0-9]{0,18}'
requestBody:
required: true
content:
multipart/form-data:
schema:
required:
- file
properties:
file:
type: string
format: binary
description:
type: string
maxLength: 2000
example: Product knowledge base for AI context
tags:
type: array
items:
type: string
enum:
- support_material
- campaign_material
- brand_rules
- benchmark_data
- product_info
type: object
additionalProperties: false
responses:
'201':
description: Document uploaded and revision created with extraction pending
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileDocumentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
type: https://tools.ietf.org/html/rfc2616#section-10
title: An error occurred
status: 400
detail: Bad Request
'401':
description: Authorization error
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
'404':
description: Profile not found
'422':
description: Validation failed
security:
- PartnerApiKey: []
- PartnerJwtBearerAuth: []
summary: Upload a document to a profile
/api/ai-customizations/v1/profiles/{profile_id}/documents/{document_id}:
get:
tags:
- AI Customization Documents
operationId: get_ai_customizations_documents_get
parameters:
- name: profile_id
in: path
required: true
schema:
type: integer
maximum: 9223372036854776000
minimum: 1
pattern: '[1-9][0-9]{0,18}'
- name: document_id
in: path
required: true
schema:
type: integer
maximum: 9223372036854776000
minimum: 1
pattern: '[1-9][0-9]{0,18}'
responses:
'200':
description: Document details
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileDocumentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
type: https://tools.ietf.org/html/rfc2616#section-10
title: An error occurred
status: 400
detail: Bad Request
'401':
description: Authorization error
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
'404':
description: Profile or document not found
security:
- PartnerApiKey: []
- PartnerJwtBearerAuth: []
summary: Get document by id
delete:
tags:
- AI Customization Documents
operationId: delete_ai_customizations_documents_delete
parameters:
- name: profile_id
in: path
required: true
schema:
type: integer
maximum: 9223372036854776000
minimum: 1
pattern: '[1-9][0-9]{0,18}'
- name: document_id
in: path
required: true
schema:
type: integer
maximum: 9223372036854776000
minimum: 1
pattern: '[1-9][0-9]{0,18}'
responses:
'204':
description: Document was successfully deleted (204 No Content).
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
type: https://tools.ietf.org/html/rfc2616#section-10
title: An error occurred
status: 400
detail: Bad Request
'401':
description: Authorization error
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
'404':
description: Profile or document not found
security:
- PartnerApiKey: []
- PartnerJwtBearerAuth: []
summary: Delete document by id
patch:
tags:
- AI Customization Documents
operationId: patch_ai_customizations_documents_update
parameters:
- name: profile_id
in: path
required: true
schema:
type: integer
maximum: 9223372036854776000
minimum: 1
pattern: '[1-9][0-9]{0,18}'
- name: document_id
in: path
required: true
schema:
type: integer
maximum: 9223372036854776000
minimum: 1
pattern: '[1-9][0-9]{0,18}'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDocumentRequest'
responses:
'200':
description: Updated document details
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileDocumentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
type: https://tools.ietf.org/html/rfc2616#section-10
title: An error occurred
status: 400
detail: Bad Request
'401':
description: Authorization error
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
'404':
description: Profile or document not found
'422':
description: Validation failed
security:
- PartnerApiKey: []
- PartnerJwtBearerAuth: []
summary: Update document by id
/api/ai-customizations/v1/profiles/{profile_id}/documents/{document_id}/download:
get:
tags:
- AI Customization Documents
operationId: get_ai_customizations_documents_download
parameters:
- name: profile_id
in: path
required: true
schema:
type: integer
maximum: 9223372036854776000
minimum: 1
pattern: '[1-9][0-9]{0,18}'
- name: document_id
in: path
required: true
schema:
type: integer
maximum: 9223372036854776000
minimum: 1
pattern: '[1-9][0-9]{0,18}'
responses:
'200':
description: Presigned S3 URL for downloading the document file
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentDownloadUrlResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
type: https://tools.ietf.org/html/rfc2616#section-10
title: An error occurred
status: 400
detail: Bad Request
'401':
description: Authorization error
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
'404':
description: Profile, document, or revision not found
security:
- PartnerApiKey: []
- PartnerJwtBearerAuth: []
summary: Get a presigned download URL for a document
components:
schemas:
DocumentDownloadUrlResponse:
required:
- url
- expires_in
properties:
url:
type: string
format: uri
expires_in:
description: Seconds until the URL expires
type: integer
type: object
additionalProperties: false
AICustomizationsPaginationMetadata:
required:
- total
- page
- limit
- total_pages
properties:
total:
type: integer
example: 42
page:
type: integer
example: 1
limit:
type: integer
example: 20
total_pages:
type: integer
example: 3
type: object
additionalProperties: false
ApiViolation:
required:
- propertyPath
- title
- template
- parameters
properties:
propertyPath:
type: string
title:
type: string
template:
type: string
parameters:
oneOf:
- oneOf:
- type: array
items: {}
- type: object
additionalProperties: {}
- type: object
additionalProperties:
type: string
type: object
additionalProperties: true
ApiErrorResponse:
required:
- type
- title
- status
- detail
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
violations:
default: null
oneOf:
- type:
- array
- 'null'
items:
$ref: '#/components/schemas/ApiViolation'
- type:
- object
- 'null'
additionalProperties:
$ref: '#/components/schemas/ApiViolation'
type: object
additionalProperties: true
ProfileDocumentResponse:
required:
- id
- description
- filename
- file_size_bytes
- file_extension
- status
- created_date
- enabled
properties:
id:
type: integer
example: 1
description:
type: string
example: Product knowledge base for AI context
filename:
type: string
example: product-knowledge-base.pdf
file_size_bytes:
type: integer
example: 204800
file_extension:
type: string
example: pdf
status:
type: string
example: pending
created_date:
type: string
format: date-time
example: '2026-04-08T12:00:00+00:00'
enabled:
type: boolean
example: true
tags:
type: array
items:
type: string
enum:
- support_material
- campaign_material
- brand_rules
- benchmark_data
- product_info
default: []
type: object
additionalProperties: false
UpdateDocumentRequest:
required:
- is_enabled
properties:
description:
type:
- string
- 'null'
default: null
maxLength: 2000
example: Updated document description
is_enabled:
type: boolean
example: true
tags:
type:
- array
- 'null'
items:
type: string
enum:
- support_material
- campaign_material
- brand_rules
- benchmark_data
- product_info
default: null
type: object
additionalProperties: false
ProfileDocumentListResponse:
required:
- data
- pagination
properties:
data:
type: array
items:
$ref: '#/components/schemas/ProfileDocumentResponse'
pagination:
$ref: '#/components/schemas/AICustomizationsPaginationMetadata'
type: object
additionalProperties: false
UnauthorizedResponse:
description: Unauthorized
example:
error: Unauthorized
message: Invalid credentials
securitySchemes:
PartnerApiKey:
type: apiKey
description: API Token Authorization from Partner Portal
name: api-key
in: header
PartnerJwtBearerAuth:
type: http
description: JWT Authorization header using the Partner JWT token.
bearerFormat: JWT
scheme: bearer