Act-On Ucl API

The Ucl API from Act-On — 30 operation(s) for ucl.

Operations 46

POST /ucl/v2/ucl/v2/{accountId}/import/contacts/{importDefinitionId} Import Contacts #
POST /ucl/v2/{accountId}/import/contacts/{importDefinitionId} Import Contacts #
GET /ucl/v2/{accountId}/import/definition Get Import Definitions #
POST /ucl/v2/{accountId}/import/definition Create an Import Definition #
GET /ucl/v2/{accountId}/import/definition/{importDefinitionId} Get Import Definition by Id #
PUT /ucl/v2/{accountId}/import/definition/{importDefinitionId} Update an Import Definition #
DELETE /ucl/v2/{accountId}/import/definition/{importDefinitionId} Delete Import Definition by Id #
GET /ucl/v2/{accountId}/import/status/{importId} Get Import status #
GET /ucl/v2/{accountId}/contact/ Get contacts from the Act-On Contacts List #
POST /ucl/v2/{accountId}/contact/ Add a single contact to the Act-On Contacts List #
POST /ucl/v2/{accountId}/contact/byFields Get contacts from the Act-On Contacts List specifying the fields to be returned #
GET /ucl/v2/{accountId}/contact/email/{emailAddress} Get contacts from the Act-On Contacts List by email address #
PUT /ucl/v2/{accountId}/contact/email/{emailAddress} Update contacts in the Act-On Contacts List by email address #
DELETE /ucl/v2/{accountId}/contact/email/{emailAddress} Delete contact in the Act-On Contacts List by email address #
DELETE /ucl/v2/{accountId}/contact/emails Delete contacts in the Act-On Contacts List by emails #
GET /ucl/v2/{accountId}/contact/externalId/{objectType}/{externalId} Get contact in the Act-On Contacts List by externalId and object type #
PUT /ucl/v2/{accountId}/contact/externalId/{objectType}/{externalId} Update contact in the Act-On Contacts list by externalId & objectType, fallback to email match #
DELETE /ucl/v2/{accountId}/contact/externalId/{objectType}/{externalId} Delete contact in the Act-On Contacts List by externalId and object type #
GET /ucl/v2/{accountId}/contact/id/{id} Get contact in the Act-On Contacts List by id #
PUT /ucl/v2/{accountId}/contact/id/{id} Update contact in the Act-On Contacts List by id #
DELETE /ucl/v2/{accountId}/contact/ids Delete contacts in the Act-On Contacts List by ids #
GET /ucl/v2/{accountId}/contactReport/email/{emailAddress}/activity Get contact history by email address #
GET /ucl/v2/{accountId}/contactReport/email/{emailAddress}/scores Get all scores for a contact by email address #
GET /ucl/v2/{accountId}/contactReport/email/{emailAddress}/segments Get all segments that the contact belong by email address #
GET /ucl/v2/{accountId}/contactReport/externalId/{objectType}/{externalId}/activity Get contact history by externalId and object type #
GET /ucl/v2/{accountId}/contactReport/externalId/{objectType}/{externalId}/scores Get all scores for a contact by externalId and object type #
GET /ucl/v2/{accountId}/contactReport/externalId/{objectType}/{externalId}/segments Get all segments that the contact belong by externalId and object type #
GET /ucl/v2/{accountId}/contactReport/id/{id}/activity Get contact history by id #
GET /ucl/v2/{accountId}/contactReport/id/{id}/scores Get all scores for a contact by id #
GET /ucl/v2/{accountId}/contactReport/id/{id}/segments Get all segments that the contact belong by id #
GET /ucl/v2/{accountId}/schema/ Get Schema #
POST /ucl/v2/{accountId}/schema/field/ Add Field #
PUT /ucl/v2/{accountId}/schema/field/{fieldId} Update FieldDefinition #
DELETE /ucl/v2/{accountId}/schema/field/{fieldId} Delete Field #
GET /ucl/v2/{accountId}/segment/ Get Segments #
POST /ucl/v2/{accountId}/segment/ Create a segment #
GET /ucl/v2/{accountId}/segment/{segmentId} Get Segment by Id #
PUT /ucl/v2/{accountId}/segment/{segmentId} Update Segment. If it's a Direct Select Segment, only the name can be updated. #
DELETE /ucl/v2/{accountId}/segment/{segmentId} Delete Segment #
GET /ucl/v2/{accountId}/segment/{segmentId}/contacts Get Contacts from a Segment #
PUT /ucl/v2/{accountId}/segment/{segmentId}/contacts Add Contacts to a Direct Select Segment #
DELETE /ucl/v2/{accountId}/segment/{segmentId}/contacts Remove Contacts from Direct Select Segment #
DELETE /ucl/v2/{accountId}/segment/{segmentId}/email/contact Remove Contacts from Direct Select Segment by email #
PUT /ucl/v2/{accountId}/segment/{segmentId}/externalId/contacts Add Contacts to a Direct Select Segment By External id #
DELETE /ucl/v2/{accountId}/segment/{segmentId}/externalId/contacts Remove Contacts from Direct Select Segment by external id #

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/act-on-ucl-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

act-on-ucl-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Act On Ucl API
  version: '2.0'
  description: 'Operations tagged Ucl across 2 of this provider''s published API definitions: act-on-raw-body-api-openapi.yml, act-on-rest-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.actonsoftware.com
security:
- sec0: []
tags:
- name: Ucl
paths:
  /ucl/v2/ucl/v2/{accountId}/import/contacts/{importDefinitionId}:
    servers:
    - url: https://api.actonsoftware.com
    post:
      summary: Import Contacts
      description: Create one or more users for an account. Each user is sent as an element in a JSON array.
      operationId: test-api
      parameters:
      - name: accountId
        in: path
        schema:
          type: integer
          format: int32
        required: true
      - name: importDefinitionId
        in: path
        schema:
          type: integer
          format: int32
        required: true
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                RAW_BODY:
                  type: string
                  description: 'JSON object with the following required keys: userType, email, firstName, lastName, password.'
                filter:
                  type: object
                  required:
                  - type
                  - expressionEvaluationType
                  properties:
                    type:
                      type: string
                    expressionEvaluationType:
                      type: string
                      enum:
                      - AND
                      - OR
                      - CUSTOM
                    customBooleanExpression:
                      type: string
                      default: 'NULL'
                    expressions:
                      type: array
                      items:
                        properties:
                          type:
                            type: string
                            enum:
                            - profile
                            - system
                          id:
                            type: string
                          field:
                            type: string
                          condition:
                            type: object
                            properties:
                              type:
                                type: string
                              comparison:
                                type: string
                              values:
                                type: array
                                items:
                                  type: string
                        type: object
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"status\": \"success\",\n    \"keyPoint\": \"blank\"\n}"
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  keyPoint:
                    type: string
                    example: blank
        '400':
          description: '400'
          content:
            text/plain:
              examples:
                Result:
                  value: '{boo}'
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl --location 'https://api.actonsoftware.com/api/1/user' \\\n--header 'Content-Type: application/json' \\\n--header 'Authorization: Bearer TOKEN_HERE' \\\n--data-raw '[\n    {\n        \"userType\": \"Marketing\",\n        \"email\": \"name3@act-on.net\",\n        \"firstName\": \"fName1\",\n        \"lastName\": \"Surname1\",\n        \"password\": \"pwxxx123\",\n        \"title\": \"Marketing Manager\",\n        \"phoneNumber\": \"111-111-1111\",\n        \"mobileNumber\": \"111-111-1111\",\n        \"faxNumber\": \"111-111-1111\",\n        \"timeZone\": \"PT\",\n        \"sendEmailConfirmation\": \"Y\"\n    }\n]'"
          name: Example 1
        samples-languages:
        - curl
      tags:
      - Ucl
  /ucl/v2/{accountId}/import/contacts/{importDefinitionId}:
    servers:
    - url: https://api.actonsoftware.com
    post:
      summary: Import Contacts
      description: ''
      operationId: import-contacts
      parameters:
      - name: accountId
        in: path
        description: accountId
        schema:
          type: integer
          format: int32
        required: true
      - name: importDefinitionId
        in: path
        description: The id of the import definition
        schema:
          type: integer
          format: int32
        required: true
      - name: cleanupImportDefinition
        in: query
        description: Whether to delete the import definition after the import
        schema:
          type: boolean
          default: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  type: string
                  description: CSV with contact data matching the provided import definition. Limit of 200MB.
                  format: binary
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              examples:
                Successfully Uploaded:
                  value: "{\n    \"data\": {\n        \"accountId\": \"12345\",\n        \"importId\": \"1longstringhere\",\n        \"importDefinitionId\": 987654,\n        \"importStatus\": \"RUNNING\",\n        \"errorMessage\": null,\n        \"submittedCount\": 0,\n        \"unsubmittedCount\": 0,\n        \"createdCount\": 0,\n        \"updatedCount\": 0,\n        \"failedCount\": 0,\n        \"rejectedCount\": 0\n    }\n}"
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      accountId:
                        type: string
                        example: '12345'
                      importId:
                        type: string
                        example: 1longstringhere
                      importDefinitionId:
                        type: integer
                        example: 987654
                        default: 0
                      importStatus:
                        type: string
                        example: RUNNING
                      errorMessage: {}
                      submittedCount:
                        type: integer
                        example: 0
                        default: 0
                      unsubmittedCount:
                        type: integer
                        example: 0
                        default: 0
                      createdCount:
                        type: integer
                        example: 0
                        default: 0
                      updatedCount:
                        type: integer
                        example: 0
                        default: 0
                      failedCount:
                        type: integer
                        example: 0
                        default: 0
                      rejectedCount:
                        type: integer
                        example: 0
                        default: 0
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Column Not Found:
                  value: "{\n    \"errors\": [\n        \"CSV Column(s) was not found: MissingColumnName. All csvColumns need to be on the CSV headers prior to import.\"\n    ]\n}"
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: string
                      example: 'CSV Column(s) was not found: MissingColumnName. All csvColumns need to be on the CSV headers prior to import.'
        '401':
          description: '401'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '403':
          description: '403'
          content:
            text/plain:
              examples:
                Error processing file:
                  value: ''
        '413':
          description: '413'
          content:
            text/plain:
              examples:
                Result:
                  value: File size exceeds the maximum limit of 200MB.
        '415':
          description: '415'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '500':
          description: '500'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
      deprecated: false
      tags:
      - Ucl
  /ucl/v2/{accountId}/import/definition:
    servers:
    - url: https://api.actonsoftware.com
    get:
      summary: Get Import Definitions
      description: ''
      operationId: get-import-definitions
      parameters:
      - name: accountId
        in: path
        description: The Act-On account Id for this request
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '401':
          description: '401'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '415':
          description: '415'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '500':
          description: '500'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
      deprecated: false
      tags:
      - Ucl
    post:
      summary: Create an Import Definition
      description: ''
      operationId: create-an-import-definition
      parameters:
      - name: accountId
        in: path
        description: The Act-On account Id for this request
        schema:
          type: integer
          format: int32
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - accountId
              - importDefinitionName
              - mappings
              - mergeStrategy
              properties:
                accountId:
                  type: string
                  description: The Act-On account ID
                delimiter:
                  type: string
                  description: An optional attribute to specify CSV delimiter (acknowledging that if you use something other than a comma, the file is no longer a CSV...)
                  default: COMMA
                  enum:
                  - COMMA
                  - SEMI_COLON
                  - TAB
                importDefinitionName:
                  type: string
                  description: The name of the Import Definition
                importSegmentIds:
                  type: array
                  description: An optional list of segments for the imported records to join
                  items:
                    type: string
                mappings:
                  type: array
                  description: Field mappings for the import
                  items:
                    properties:
                      csvColumn:
                        type: string
                        description: Header value in the source file
                      actonColumn:
                        type: string
                        description: Target field name in Act-On
                      overwriteExistingValue:
                        type: boolean
                        description: Should an existing value in Act-On be replaced, including with a NULL/Empty string from the source file.
                      dataFormat:
                        type: string
                        description: Leave blank or omit for most field types. Required for Date. Provide the format of the date such as "yyyy-MM-dd" (Follow LDML patterns.)
                    type: object
                mergeStrategy:
                  type: string
                  description: The merge strategy to use for the import
                  default: EMAIL
                  enum:
                  - EMAIL
                  - EXTERNAL_ID
                objectType:
                  type: string
                  description: Required value for EXTERNAL_ID mergeStrategy
                quote:
                  type: string
                  description: An optional attribute to specify how text strings are identified. (QUOTE is for "double quote". SIMPLE_QUOTE is a 'single quote'.)
                  default: QUOTE
                  enum:
                  - QUOTE
                  - SIMPLE_QUOTE
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Success - External ID:
                  value: "{\n    \"data\": {\n        \"accountId\": \"12345\",\n        \"importDefinitionId\": 987654,\n        \"importDefinitionName\": \"Definition Name\",\n        \"mergeStrategy\": \"EXTERNAL_ID\",\n        \"objectType\": \"Record Type\",\n        \"mappings\": [\n            {\n                \"csvColumn\": \"email\",\n                \"actonColumn\": \"E-mail Address\",\n                \"overwriteExistingValue\": true,\n                \"dataFormat\": null\n            },\n            {\n                \"csvColumn\": \"unique_contact_id\",\n                \"actonColumn\": \"ExternalId\",\n                \"overwriteExistingValue\": true,\n                \"dataFormat\": null\n            },\n            {\n                \"csvColumn\": \"First Name\",\n                \"actonColumn\": \"First Name\",\n                \"overwriteExistingValue\": true,\n                \"dataFormat\": null\n            },\n            {\n                \"csvColumn\": \"Last Name\",\n                \"actonColumn\": \"Last Name\",\n                \"overwriteExistingValue\": true,\n                \"dataFormat\": null\n            }\n        ],\n        \"importSegmentIds\": null,\n        \"delimiter\": \"COMMA\",\n        \"quote\": \"QUOTE\"\n    }\n}"
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      accountId:
                        type: string
                        example: '12345'
                      importDefinitionId:
                        type: integer
                        example: 987654
                        default: 0
                      importDefinitionName:
                        type: string
                        example: Definition Name
                      mergeStrategy:
                        type: string
                        example: EXTERNAL_ID
                      objectType:
                        type: string
                        example: Record Type
                      mappings:
                        type: array
                        items:
                          type: object
                          properties:
                            csvColumn:
                              type: string
                              example: email
                            actonColumn:
                              type: string
                              example: E-mail Address
                            overwriteExistingValue:
                              type: boolean
                              example: true
                              default: true
                            dataFormat: {}
                      importSegmentIds: {}
                      delimiter:
                        type: string
                        example: COMMA
                      quote:
                        type: string
                        example: QUOTE
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '401':
          description: '401'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '415':
          description: '415'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '500':
          description: '500'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
      deprecated: false
      tags:
      - Ucl
  /ucl/v2/{accountId}/import/definition/{importDefinitionId}:
    servers:
    - url: https://api.actonsoftware.com
    get:
      summary: Get Import Definition by Id
      description: ''
      operationId: get-import-definition-by-id
      parameters:
      - name: accountId
        in: path
        description: The Act-On account Id for this request
        schema:
          type: string
        required: true
      - name: importDefinitionId
        in: path
        description: The Id of the import definition to retrieve
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '401':
          description: '401'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '404':
          description: '404'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '415':
          description: '415'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '500':
          description: '500'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
      deprecated: false
      tags:
      - Ucl
    put:
      summary: Update an Import Definition
      description: ''
      operationId: update-an-import-definition
      parameters:
      - name: accountId
        in: path
        description: The Act-On account Id for this request
        schema:
          type: integer
          format: int32
        required: true
      - name: importDefinitionId
        in: path
        description: The Id of the import definition to update
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - accountId
              - importDefinitionName
              - mappings
              - mergeStrategy
              properties:
                accountId:
                  type: string
                  description: The Act-On account ID
                delimiter:
                  type: string
                  description: An optional attribute to specify CSV delimiter.
                  default: COMMA
                importDefinitionId:
                  type: integer
                  description: The id of the Import Definition
                  format: int32
                importDefinitionName:
                  type: string
                  description: The name of the Import Definition
                importSegmentIds:
                  type: array
                  description: An optional list of segments for the imported records to join
                  items:
                    type: string
                mappings:
                  type: array
                  description: Field mappings for the import
                mergeStrategy:
                  type: string
                  description: The merge strategy to use for the import
                  default: EMAIL
                objectType:
                  type: string
                  description: Required value for EXTERNAL_ID mergeStrategy
                quote:
                  type: string
                  description: An optional attribute to specify CSV delimiter.
                  default: QUOTE
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Ucl
    delete:
      summary: Delete Import Definition by Id
      description: ''
      operationId: delete-import-definition-by-id
      parameters:
      - name: accountId
        in: path
        description: The Act-On account Id for this request
        schema:
          type: string
        required: true
      - name: importDefinitionId
        in: path
        description: The Id of the import definition to delete
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '401':
          description: '401'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '415':
          description: '415'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '500':
          description: '500'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
      deprecated: false
      tags:
      - Ucl
  /ucl/v2/{accountId}/import/status/{importId}:
    servers:
    - url: https://api.actonsoftware.com
    get:
      summary: Get Import status
      description: ''
      operationId: get-import-status
      parameters:
      - name: accountId
        in: path
        description: The Act-On account Id for this request
        schema:
          type: string
        required: true
      - name: importId
        in: path
        description: The Id of the import to retrieve
        schema:
          type: string
        required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"data\": {\n        \"accountId\": \"12345\",\n        \"importId\": \"1longstringhere\",\n        \"importDefinitionId\": 987654,\n        \"importStatus\": \"COMPLETED\",\n        \"errorMessage\": null,\n        \"submittedCount\": 1000,\n        \"unsubmittedCount\": 0,\n        \"createdCount\": 1000,\n        \"updatedCount\": 0,\n        \"failedCount\": 0,\n        \"rejectedCount\": 0\n    }\n}"
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      accountId:
                        type: string
                        example: '12345'
                      importId:
                        type: string
                        example: 1longstringhere
                      importDefinitionId:
                        type: integer
                        example: 987654
                        default: 0
                      importStatus:
                        type: string
                        example: COMPLETED
                      errorMessage: {}
                      submittedCount:
                        type: integer
                        example: 1000
                        default: 0
                      unsubmittedCount:
                        type: integer
                        example: 0
                        default: 0
                      createdCount:
                        type: integer
                        example: 1000
                        default: 0
                      updatedCount:
                        type: integer
                        example: 0
                        default: 0
                      failedCount:
                        type: integer
                        example: 0
                        default: 0
                      rejectedCount:
                        type: integer
                        example: 0
                        default: 0
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '401':
          description: '401'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '415':
          description: '415'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '500':
          description: '500'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
      deprecated: false
      tags:
      - Ucl
  /ucl/v2/{accountId}/contact/:
    servers:
    - url: https://api.actonsoftware.com
    get:
      summary: Get contacts from the Act-On Contacts List
      description: ''
      operationId: get-contacts-from-the-act-on-contacts-list
      parameters:
      - name: accountId
        in: path
        description: The Act-On account Id for this request
        schema:
          type: string
        required: true
      - name: createdAfter
        in: query
        description: 'Optional filter for retrieving records created after the specified timestamp in seconds <p>Use Example Value: Unix Timestamp in seconds</p>'
        schema:
          type: string
      - name: createdBefore
        in: query
        description: 'Optional filter for retrieving records created before the specified timestamp in seconds <p>Use Example Value: Unix Timestamp in seconds</p>'
        schema:
          type: string
      - name: page
        in: query
        description: The page number to retrieve
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: The number of records to retrieve per page
        schema:
          type: integer
          format: int32
          default: 50
      - name: updatedAfter
        in: query
        description: 'Optional filter for retrieving records updated after the specified timestamp in seconds <p>Use Example Value: Unix Timestamp in seconds</p>'
        schema:
          type: string
      - name: updatedBefore
        in: query
        description: 'Optional filter for retrieving records updated before the specified timestamp in seconds <p>Use Example Value: Unix Timestamp in seconds</p>'
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '406':
          description: '406'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
        '415':
          description: '415'
          content:
            text/plain:
              examples:
                Result:
                  value: ''
      deprecated: false
      tags:
      - Ucl
    post:
      summary: Add a single contact to the Act-On Contacts List
      description: ''
      operationId: add-a-single-contact-to-the-act-on-contacts-list
      parameters:
      - name: accountId
        in: path
        description: The Act-On account Id for this request
        schema:
          type: string
        required: true
      - name: createContactMethod
        in: query
        description: The method used for creating a new contact
        required: true
        schema:
          type: string
          enum:
          - EMAIL
          - EXTERNAL_ID
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                actonPrimaryScore:
                  type: string
                  description: The contact's Act-On primary score
                businessCity:
                  type: string
                  description: The contact's business city
                businessCountry:
                  type: string
                  description: The contact's business country
                businessFax:
                  type: string
                  description: The contact's business fax number
                businessPhone:
                  type: string
                  description: The contact's business phone number
                businessState:
                  type: string
                  description: The contact's business state
                businessStreet:
                  type: string
                  description: The contact's business street address
                businessWebsite:
                  type: string
                  description: The contact's business website
                businessZip:
                  type: string
                  description: The contact's business zip code
                company:
                  type: string
                  description: The contact's company name
                createdDate:
                  type: string
                  description: The contact's created date
                customFields:
                  type: object
                  description: Custom field data by column index
                  properties: {}
                dateOfBirth:
                  type: string
                  description: The contact's Act-On date of birth in format YYY-MM-DD
                department:
                  type: string
                  description: The contact's department
                email:
                  type: string
                  description: The contact's email address
                externalId:
                  type: string
                  description: The external system id of the contact
                fir

# --- truncated at 32 KB (122 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/act-on/refs/heads/main/openapi/act-on-ucl-api-openapi.yml