naftiko: 1.0.0-alpha2 info: label: ActiveCampaign API v3 — Accounts description: 'ActiveCampaign API v3 — Accounts. 25 operations. Lead operation: ActiveCampaign Create an Association. Self-contained Naftiko capability covering one Activecampaign business surface.' tags: - Activecampaign - Accounts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ACTIVECAMPAIGN_API_KEY: ACTIVECAMPAIGN_API_KEY capability: consumes: - type: http namespace: v3-accounts baseUri: https://{yourAccountName}.api-us1.com/api/3 description: ActiveCampaign API v3 — Accounts business capability. Self-contained, no shared references. resources: - name: accountContacts path: /accountContacts operations: - name: createanaccount1 method: POST description: ActiveCampaign Create an Association outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: listallassociations1 method: GET description: ActiveCampaign List All Associations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters[contact] in: query type: integer description: Filter by Contact ID - name: filters[account] in: query type: integer description: Filter by Account ID - name: accountContacts-id path: /accountContacts/{id} operations: - name: retrieveanassociation method: GET description: ActiveCampaign Retrieve an Association outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Association's ID required: true - name: updateanassociation1 method: PUT description: ActiveCampaign Update an Association outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Association's ID required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deleteanassociation1 method: DELETE description: ActiveCampaign Delete an Association outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Association's ID required: true - name: accountCustomFieldData path: /accountCustomFieldData operations: - name: createacustomfieldvalue method: POST description: ActiveCampaign Create a Custom Field Value outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: listallcustomfieldvalues2 method: GET description: ActiveCampaign List All Custom Field Values outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters[customerAccountId] in: query type: string description: Filter results by a specific account (note that Id uses a capital I) - name: accountCustomFieldData-bulkCreate path: /accountCustomFieldData/bulkCreate operations: - name: bulkcreateacustomaccountfieldvalue method: POST description: ActiveCampaign Bulk Create a Custom Account Field Value outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: accountCustomFieldData-bulkUpdate path: /accountCustomFieldData/bulkUpdate operations: - name: bulkupdateacustomaccountfieldvalue method: PATCH description: ActiveCampaign Bulk Update a Custom Field Value outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: accountCustomFieldData-id path: /accountCustomFieldData/{id} operations: - name: retrieveacustomfieldvalue method: GET description: ActiveCampaign Retrieve a Custom Field Value outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: ID of the dealCustomFieldData to retrieve required: true - name: updateacustomfieldvalue method: PUT description: ActiveCampaign Update a Custom Field Value outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: ID of the custom fields value to update required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deleteacustomfieldvalue method: DELETE description: ActiveCampaign Delete a Custom Field Value outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: ID of the dealCustomFieldData to retrieve required: true - name: accountCustomFieldMeta path: /accountCustomFieldMeta operations: - name: createacustomfieldmeta method: POST description: ActiveCampaign Create a Custom Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: listallcustomfieldsmeta method: GET description: ActiveCampaign List All Custom Fields outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: The number of fields returned per request. - name: accountCustomFieldMeta-id path: /accountCustomFieldMeta/{id} operations: - name: retrieveacustomfieldmeta method: GET description: ActiveCampaign Retrieve a Custom Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: ID of the field to retrieve required: true - name: updateacustomfield method: PUT description: ActiveCampaign Update a Custom Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: ID of the custom field to update required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deleteacustomfield method: DELETE description: ActiveCampaign Delete a Custom Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: ID of the field to delete required: true - name: accounts path: /accounts operations: - name: createanaccountnew method: POST description: ActiveCampaign Create an Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: listallaccounts method: GET description: ActiveCampaign List All Accounts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: search in: query type: string description: Search by name - name: count_deals in: query type: boolean description: Whether to compute the contactCount and dealCount counts for the number of contacts/deals associated with each account. Set it to true to include the right coun - name: accounts-bulk_delete path: /accounts/bulk_delete operations: - name: bulkdeleteaccounts method: DELETE description: ActiveCampaign Bulk Delete Accounts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: '[]ids' in: query type: integer description: An integer id of the account to be deleted - name: accounts-id path: /accounts/{id} operations: - name: updateanaccountnew method: PUT description: ActiveCampaign Update an Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Account's id required: true - name: body in: body type: object description: Request body (JSON). required: false - name: retrieveanaccount method: GET description: ActiveCampaign Retrieve an Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Account's ID required: true - name: deleteanaccount method: DELETE description: ActiveCampaign Delete an Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Account's id required: true - name: accounts-id-notes path: /accounts/{id}/notes operations: - name: createanaccountnote method: POST description: ActiveCampaign Create an Account Note outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Account's id to assign new note to required: true - name: body in: body type: object description: Request body (JSON). required: false - name: accounts-id-notes-noteid path: /accounts/{id}/notes/{noteid} operations: - name: updateaaccountnote method: PUT description: ActiveCampaign Update an Account Note outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Account's id to assign new note to required: true - name: noteid in: path type: string description: Account note's id to update required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: Api-Token value: '{{env.ACTIVECAMPAIGN_API_KEY}}' placement: header exposes: - type: rest namespace: v3-accounts-rest port: 8080 description: REST adapter for ActiveCampaign API v3 — Accounts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/accountcontacts name: accountcontacts description: REST surface for accountContacts. operations: - method: POST name: createanaccount1 description: ActiveCampaign Create an Association call: v3-accounts.createanaccount1 with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listallassociations1 description: ActiveCampaign List All Associations call: v3-accounts.listallassociations1 with: filters[contact]: rest.filters[contact] filters[account]: rest.filters[account] outputParameters: - type: object mapping: $. - path: /v1/accountcontacts/{id} name: accountcontacts-id description: REST surface for accountContacts-id. operations: - method: GET name: retrieveanassociation description: ActiveCampaign Retrieve an Association call: v3-accounts.retrieveanassociation with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateanassociation1 description: ActiveCampaign Update an Association call: v3-accounts.updateanassociation1 with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteanassociation1 description: ActiveCampaign Delete an Association call: v3-accounts.deleteanassociation1 with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/accountcustomfielddata name: accountcustomfielddata description: REST surface for accountCustomFieldData. operations: - method: POST name: createacustomfieldvalue description: ActiveCampaign Create a Custom Field Value call: v3-accounts.createacustomfieldvalue with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listallcustomfieldvalues2 description: ActiveCampaign List All Custom Field Values call: v3-accounts.listallcustomfieldvalues2 with: filters[customerAccountId]: rest.filters[customerAccountId] outputParameters: - type: object mapping: $. - path: /v1/accountcustomfielddata/bulkcreate name: accountcustomfielddata-bulkcreate description: REST surface for accountCustomFieldData-bulkCreate. operations: - method: POST name: bulkcreateacustomaccountfieldvalue description: ActiveCampaign Bulk Create a Custom Account Field Value call: v3-accounts.bulkcreateacustomaccountfieldvalue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/accountcustomfielddata/bulkupdate name: accountcustomfielddata-bulkupdate description: REST surface for accountCustomFieldData-bulkUpdate. operations: - method: PATCH name: bulkupdateacustomaccountfieldvalue description: ActiveCampaign Bulk Update a Custom Field Value call: v3-accounts.bulkupdateacustomaccountfieldvalue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/accountcustomfielddata/{id} name: accountcustomfielddata-id description: REST surface for accountCustomFieldData-id. operations: - method: GET name: retrieveacustomfieldvalue description: ActiveCampaign Retrieve a Custom Field Value call: v3-accounts.retrieveacustomfieldvalue with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateacustomfieldvalue description: ActiveCampaign Update a Custom Field Value call: v3-accounts.updateacustomfieldvalue with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteacustomfieldvalue description: ActiveCampaign Delete a Custom Field Value call: v3-accounts.deleteacustomfieldvalue with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/accountcustomfieldmeta name: accountcustomfieldmeta description: REST surface for accountCustomFieldMeta. operations: - method: POST name: createacustomfieldmeta description: ActiveCampaign Create a Custom Field call: v3-accounts.createacustomfieldmeta with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listallcustomfieldsmeta description: ActiveCampaign List All Custom Fields call: v3-accounts.listallcustomfieldsmeta with: limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/accountcustomfieldmeta/{id} name: accountcustomfieldmeta-id description: REST surface for accountCustomFieldMeta-id. operations: - method: GET name: retrieveacustomfieldmeta description: ActiveCampaign Retrieve a Custom Field call: v3-accounts.retrieveacustomfieldmeta with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateacustomfield description: ActiveCampaign Update a Custom Field call: v3-accounts.updateacustomfield with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteacustomfield description: ActiveCampaign Delete a Custom Field call: v3-accounts.deleteacustomfield with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/accounts name: accounts description: REST surface for accounts. operations: - method: POST name: createanaccountnew description: ActiveCampaign Create an Account call: v3-accounts.createanaccountnew with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listallaccounts description: ActiveCampaign List All Accounts call: v3-accounts.listallaccounts with: search: rest.search count_deals: rest.count_deals outputParameters: - type: object mapping: $. - path: /v1/accounts/bulk-delete name: accounts-bulk-delete description: REST surface for accounts-bulk_delete. operations: - method: DELETE name: bulkdeleteaccounts description: ActiveCampaign Bulk Delete Accounts call: v3-accounts.bulkdeleteaccounts with: '[]ids': rest.[]ids outputParameters: - type: object mapping: $. - path: /v1/accounts/{id} name: accounts-id description: REST surface for accounts-id. operations: - method: PUT name: updateanaccountnew description: ActiveCampaign Update an Account call: v3-accounts.updateanaccountnew with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: GET name: retrieveanaccount description: ActiveCampaign Retrieve an Account call: v3-accounts.retrieveanaccount with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: deleteanaccount description: ActiveCampaign Delete an Account call: v3-accounts.deleteanaccount with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/accounts/{id}/notes name: accounts-id-notes description: REST surface for accounts-id-notes. operations: - method: POST name: createanaccountnote description: ActiveCampaign Create an Account Note call: v3-accounts.createanaccountnote with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/accounts/{id}/notes/{noteid} name: accounts-id-notes-noteid description: REST surface for accounts-id-notes-noteid. operations: - method: PUT name: updateaaccountnote description: ActiveCampaign Update an Account Note call: v3-accounts.updateaaccountnote with: id: rest.id noteid: rest.noteid body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: v3-accounts-mcp port: 9090 transport: http description: MCP adapter for ActiveCampaign API v3 — Accounts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: activecampaign-create-association description: ActiveCampaign Create an Association hints: readOnly: false destructive: false idempotent: false call: v3-accounts.createanaccount1 with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-list-all-associations description: ActiveCampaign List All Associations hints: readOnly: true destructive: false idempotent: true call: v3-accounts.listallassociations1 with: filters[contact]: tools.filters[contact] filters[account]: tools.filters[account] outputParameters: - type: object mapping: $. - name: activecampaign-retrieve-association description: ActiveCampaign Retrieve an Association hints: readOnly: true destructive: false idempotent: true call: v3-accounts.retrieveanassociation with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-update-association description: ActiveCampaign Update an Association hints: readOnly: false destructive: false idempotent: true call: v3-accounts.updateanassociation1 with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-delete-association description: ActiveCampaign Delete an Association hints: readOnly: false destructive: true idempotent: true call: v3-accounts.deleteanassociation1 with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-create-custom-field-value description: ActiveCampaign Create a Custom Field Value hints: readOnly: false destructive: false idempotent: false call: v3-accounts.createacustomfieldvalue with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-list-all-custom-field description: ActiveCampaign List All Custom Field Values hints: readOnly: true destructive: false idempotent: true call: v3-accounts.listallcustomfieldvalues2 with: filters[customerAccountId]: tools.filters[customerAccountId] outputParameters: - type: object mapping: $. - name: activecampaign-bulk-create-custom-account description: ActiveCampaign Bulk Create a Custom Account Field Value hints: readOnly: false destructive: false idempotent: false call: v3-accounts.bulkcreateacustomaccountfieldvalue with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-bulk-update-custom-field description: ActiveCampaign Bulk Update a Custom Field Value hints: readOnly: false destructive: false idempotent: true call: v3-accounts.bulkupdateacustomaccountfieldvalue with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-retrieve-custom-field-value description: ActiveCampaign Retrieve a Custom Field Value hints: readOnly: true destructive: false idempotent: true call: v3-accounts.retrieveacustomfieldvalue with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-update-custom-field-value description: ActiveCampaign Update a Custom Field Value hints: readOnly: false destructive: false idempotent: true call: v3-accounts.updateacustomfieldvalue with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-delete-custom-field-value description: ActiveCampaign Delete a Custom Field Value hints: readOnly: false destructive: true idempotent: true call: v3-accounts.deleteacustomfieldvalue with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-create-custom-field description: ActiveCampaign Create a Custom Field hints: readOnly: false destructive: false idempotent: false call: v3-accounts.createacustomfieldmeta with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-list-all-custom-fields description: ActiveCampaign List All Custom Fields hints: readOnly: true destructive: false idempotent: true call: v3-accounts.listallcustomfieldsmeta with: limit: tools.limit outputParameters: - type: object mapping: $. - name: activecampaign-retrieve-custom-field description: ActiveCampaign Retrieve a Custom Field hints: readOnly: true destructive: false idempotent: true call: v3-accounts.retrieveacustomfieldmeta with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-update-custom-field description: ActiveCampaign Update a Custom Field hints: readOnly: false destructive: false idempotent: true call: v3-accounts.updateacustomfield with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-delete-custom-field description: ActiveCampaign Delete a Custom Field hints: readOnly: false destructive: true idempotent: true call: v3-accounts.deleteacustomfield with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-create-account description: ActiveCampaign Create an Account hints: readOnly: false destructive: false idempotent: false call: v3-accounts.createanaccountnew with: body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-list-all-accounts description: ActiveCampaign List All Accounts hints: readOnly: true destructive: false idempotent: true call: v3-accounts.listallaccounts with: search: tools.search count_deals: tools.count_deals outputParameters: - type: object mapping: $. - name: activecampaign-bulk-delete-accounts description: ActiveCampaign Bulk Delete Accounts hints: readOnly: false destructive: true idempotent: true call: v3-accounts.bulkdeleteaccounts with: '[]ids': tools.[]ids outputParameters: - type: object mapping: $. - name: activecampaign-update-account description: ActiveCampaign Update an Account hints: readOnly: false destructive: false idempotent: true call: v3-accounts.updateanaccountnew with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-retrieve-account description: ActiveCampaign Retrieve an Account hints: readOnly: true destructive: false idempotent: true call: v3-accounts.retrieveanaccount with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-delete-account description: ActiveCampaign Delete an Account hints: readOnly: false destructive: true idempotent: true call: v3-accounts.deleteanaccount with: id: tools.id outputParameters: - type: object mapping: $. - name: activecampaign-create-account-note description: ActiveCampaign Create an Account Note hints: readOnly: false destructive: false idempotent: false call: v3-accounts.createanaccountnote with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: activecampaign-update-account-note description: ActiveCampaign Update an Account Note hints: readOnly: false destructive: false idempotent: true call: v3-accounts.updateaaccountnote with: id: tools.id noteid: tools.noteid body: tools.body outputParameters: - type: object mapping: $.