Skip to main content

API Reference (1.0)

Download OpenAPI specification:Download




The Complero API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

You can use test data, which doesn’t affect your live data or interact with the Contacts. The test flag determines whether the Contact is a live or test Contact.

The Complero's API uses bulk operations for data heavy transfers and processes them in the background. You can monitor the operations to see the status of your request.

Errors

Complero uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.). Codes in the 5xx range indicate an error with Complero’s servers (these are rare).

Validation Errors

Each validation error is mapped to a specific code.

  • Tags related to standard validation rules (such as email, uuid, min, etc.) return the generic code v1c001.

  • The required tag is treated as a special case and returns v1c002.

  • Tags specific to Complero's domain, such as mobilenumber, faxnumber, or zipcode, return v1c004.

  • Any other unknown or unrecognized tags fall back to the generic code v1c003.

Request IDs

Each API request has an associated request identifier. You can find this value in the response headers, under Request-Id.

To expedite the resolution process, provide the request identifier when you contact us about a specific request.

Pagination

Get endpoints that return an array of Models support cursor based pagination.

By default, it returns only 1000 events per page and next page can be requested by passing cursor query parameter with value from response header Next-Cursor.

For convenience, response also has header Next-Link which contains full link what can be used for requesting next page.

Headers Next-Cursor and Next-Link will be present in the headers as long as next page exists.

Ping Complero

Check if the Complero API is reachable from your network.
This is the only endpoint that does not need any API key to be accessed.

Responses

Request samples

curl https://api.complero.com/v1/ping

Events

Documentation by contact

Get documentation PDF by Contact ID

Authorizations:
ApiKeyAuth
path Parameters
contactID
required
string

documentation for Contact with specified ID. Returns latest documentation file when eventID not passed

Responses

Response samples

Content type
No sample

Documentation by event

Get documentation PDF for Contact by EventID

Authorizations:
ApiKeyAuth
path Parameters
contactID
required
string

documentation for Contact with specified ID. Returns latest documentation file when eventID not passed

eventID
required
string

when passed returns documentation for specified Event

Responses

Response samples

Content type
No sample

Get events

Get Contact updates

Authorizations:
ApiKeyAuth
query Parameters
type
string
Enum: "confirm" "update" "documentation"

filter events by one or more types

from
string
Example: from=2024-09-17T09:19:04Z

events occurred from this time in an ISO 8601 format

to
string
Example: to=2024-10-17T14:50:00Z

events occurred up to this time in an ISO 8601 format

limit
string
Default: "1000"

number of events per page

cursor
string
Example: cursor=MDAwMDAwMDAtMDAwMC0

pagination cursor to next page

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {},
  • {
    }
]

Get latest events

Get only latest Contact updates that have not yet been received via any API endpoint

Authorizations:
ApiKeyAuth
query Parameters
type
string
Enum: "confirm" "update" "documentation"

filter events by one or more types

limit
string
Default: "1000"

number of events per request

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Trigger sandbox event

Triggers new update or confirm event and creates a static generic documentation of the consents

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

payload

object (Contact)
type
string
Enum: "update" "confirm"

Responses

Request samples

Content type
application/json
{
  • "contact": {
    },
  • "type": "update"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Contacts

Consumers receiving Complero Update Requests.

Bulk Upload Contacts

Bulk Upload up to 1000 Contacts. If Contacts already exist their data will be synced with the content of this request.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

payload

Array
birthday
string
company
string
object
degree
string
object (Documentation)
employee_id
string
first_name
required
string
id
required
string
language
string
last_name
required
string
name_suffix
string
nationality
string
position
string
salutation
string
object (Section)
object (Section)
title
string
website
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "message": "string"
}

Get Contact

Get the full Contact by their ID in their most updated state.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

search Contact by their ID

Responses

Response samples

Content type
application/json
{
  • "birthday": "string",
  • "company": "string",
  • "data": {
    },
  • "degree": "string",
  • "documentation": {
    },
  • "employee_id": "string",
  • "first_name": "string",
  • "id": "string",
  • "language": "string",
  • "last_name": "string",
  • "name_suffix": "string",
  • "nationality": "string",
  • "position": "string",
  • "salutation": "string",
  • "section_private": {
    },
  • "section_work": {
    },
  • "tags": [
    ],
  • "title": "string",
  • "website": "string"
}

Delete Contact

Delete a Contact by their ID.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

delete Contact by their ID

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Employees

Individuals employed by your entity. Adding employees is optional, but recommended for Companies with branch offices or when different groups of contacts are managed by separate agencies or Employees. If no employee is specified, all uploaded Contacts will be assigned to the default Employee.

Bulk Upload Employees

Create Employees if they don't exist in the Complero system or update existing ones.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

payload

Array
city
string
object
department
string
email
required
string
fax_number
string
first_name
required
string
house_number
string
id
required
string
last_name
string
phone_number
string
position
string
profile_picture_url
string
street
string
tags
Array of strings
website
string
zip_code
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "message": "string",
  • "validation_errors": {
    }
}

Get Employee

Get the full Employee by their Native ID.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Employee Native ID

Responses

Response samples

Content type
application/json
{
  • "city": "string",
  • "data": {
    },
  • "department": "string",
  • "email": "string",
  • "fax_number": "string",
  • "first_name": "string",
  • "house_number": "string",
  • "id": "string",
  • "last_name": "string",
  • "phone_number": "string",
  • "position": "string",
  • "profile_picture_url": "string",
  • "street": "string",
  • "tags": [
    ],
  • "website": "string",
  • "zip_code": "string"
}

Delete Employee

Delete an Employee by their ID. If the Employee still has assigned Contacts Delete will fail.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

delete Employee by their Native ID

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Operations

List Operations

Returns a list of Operations. The Operations returned are sorted by creation date descending.

Authorizations:
ApiKeyAuth
query Parameters
from
string
Example: from=2024-09-17T09:19:04Z

updates made From the date in a ISO 8601 format

to
string
Example: to=2024-10-17T14:50:00Z

updates made To the date in a ISO 8601 format

limit
string
Default: "1000"

number of events per page

cursor
string
Example: cursor=MDAwMDAwMDAtMDAwMC0

pagination cursor to next page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific Operation

Returns a single Operation.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

the id of the operation

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "id": "string",
  • "items": [
    ],
  • "model": "string",
  • "status": "string",
  • "type": "string"
}