openapi: 3.0.3 info: title: api-onboarding Account Usage Contacts API version: v1 description: Create, search and manage the list of users that have access in your Currencycloud account or associated sub-accounts. servers: - url: /onboarding description: Relative URL - url: https://api.currencycloud.com/onboarding description: Production server (uses live data) - url: https://devapi.currencycloud.com/onboarding description: Dev server (uses test data) tags: - name: Contacts description: Create, search and manage the list of users that have access in your Currencycloud account or associated sub-accounts. paths: /contacts/current: get: tags: - Contacts x-api-group: manage summary: Get Authenticating Contact description: Gets the contact record for the authenticated user. operationId: GetAuthenticatingContact produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 responses: '200': description: Success. schema: $ref: '#/definitions/Contact' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /contacts/find: post: tags: - Contacts x-api-group: manage summary: Find Contacts description: Returns contacts that match the parameters. operationId: FindContactsPost produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_name in: formData required: false type: string description: Account name pattern: \S+ minLength: 1 maxLength: 150 - name: account_id in: formData required: false type: string description: Sub-Account UUID format: uuid - name: first_name in: formData required: false type: string description: The contact's first name. minLength: 1 maxLength: 100 - name: last_name in: formData required: false type: string description: The contact's last name. minLength: 1 maxLength: 100 - name: email_address in: formData required: false type: string description: The contact's email address. pattern: ^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$ minLength: 6 maxLength: 255 - name: your_reference in: formData required: false type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: phone_number in: formData required: false type: string description: The contact's phone number. minLength: 1 maxLength: 100 - name: login_id in: formData required: false type: string description: The contact's Currencycloud login ID. minLength: 1 maxLength: 50 - name: status in: formData required: false type: string enum: - enabled - not_enabled description: Contact status - "enabled" allows the contact to conduct activity on the sub-account, "not_enabled" disables the contact. - name: locale in: formData required: false type: string description: Locale code ("en", "en-US", "fr-FR"). minLength: 2 maxLength: 5 - name: timezone in: formData required: false type: string description: Timezone ("Europe/London", "America/New_York"). minLength: 7 maxLength: 35 - name: page in: formData required: false type: string description: Page number pattern: ^\d+$ - name: per_page in: formData required: false type: string description: Number of results per page. pattern: ^\d+$ - name: order in: formData required: false type: string description: Any field name to change the sort order. minLength: 1 maxLength: 255 - name: order_asc_desc in: formData required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. responses: '200': description: Success. schema: properties: contacts: type: array items: $ref: '#/definitions/Contact' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. schema: $ref: '#/definitions/FindContactsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /contacts/{id}: get: tags: - Contacts x-api-group: manage summary: Get Contact description: Gets the contact for the given ID. operationId: GetContact produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Contact UUID format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Contact' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: contact_not_found category: id message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetContactError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' - code: first_name_invalid_format category: first_name message: Please make sure that first_name doesn't contain < or > symbols params: '' - code: last_name_invalid_format category: last_name message: Please make sure that last_name doesn't contain < or > symbols params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. post: tags: - Contacts x-api-group: manage summary: Update Contact description: Updates an existing contact. Returns the updated contact entity on success. operationId: UpdateContact consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Contact UUID format: uuid - name: first_name in: query required: false type: string description: The contact's first name. minLength: 1 maxLength: 100 - name: last_name in: query required: false type: string description: The contact's last name. minLength: 1 maxLength: 100 - name: email_address in: query required: false type: string description: The contact's email address. A request to update a contact's email address does not immediately update the value. Instead, an email change request flow is initiated, sending notifications to both the old and new email addresses. The value will be updated when the change is confirmed via a link sent to the new email address. pattern: ^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$ minLength: 6 maxLength: 255 - name: your_reference in: query required: false type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: phone_number in: query required: false type: string description: The contact's phone number. minLength: 1 maxLength: 100 - name: mobile_phone_number in: query required: false type: string description: The contact's mobile phone number. minLength: 1 maxLength: 100 - name: login_id in: query required: false type: string description: The contact's Currencycloud login ID. minLength: 1 maxLength: 50 - name: status in: query required: false type: string enum: - enabled - not_enabled description: Contact status - "enabled" allows the contact to conduct activity on the sub-account, "not_enabled" disables the contact. - name: locale in: query required: false type: string description: Locale code ("en", "en-US", "fr-FR"). minLength: 2 maxLength: 5 - name: timezone in: query required: false type: string description: Timezone ("Europe/London", "America/New_York"). minLength: 7 maxLength: 35 - name: date_of_birth in: query required: false type: string format: date description: Contact's date of birth. ISO 8601 format YYYY-MM-DD. Required if account type is individual. responses: '200': description: Success. schema: $ref: '#/definitions/Contact' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: at_least_one_parameter category: base message: 'At least one parameter should be present: first_name, last_name, email_address, phone_number, mobile_phone_number, login_id, locale, timezone, status' params: '' - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: first_name_is_too_short category: first_name message: first_name cann ot be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: first_name_is_too_long category: first_name message: first_name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: last_name_is_too_short category: last_name message: last_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: last_name_is_too_long category: last_name message: last_name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: email_address_is_too_short category: email_address message: email_address can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: email_address_is_too_long category: email_address message: email_address can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: email_address_is_in_invalid_format category: email_address message: email_address is in invalid format params: '' - code: phone_number_is_too_short category: phone_number message: phone_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: phone_number_is_too_long category: phone_number message: phone_number can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: mobile_phone_number_is_too_short category: mobile_phone_number message: mobile_phone_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: mobile_phone_number_is_too_long category: mobile_phone_number message: mobile_phone_number can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: login_id_in_use category: login_id message: 'login_id already in use: john.smith@company.com' params: '' - code: login_id_is_too_long category: login_id message: login_id can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: locale_is_too_short category: locale message: locale can not be shorter than 2 character(s) params: '{ "minlength" => 2 }' - code: locale_is_too_long category: locale message: locale can not be longer than 5 character(s) params: '{ "maxlength" => 5 }' - code: timezone_is_too_short category: timezone message: timezone can not be shorter than 7 character(s) params: '{ "minlength" => 7 }' - code: timezone_is_too_long category: timezone message: timezone can not be longer than 35 character(s) params: '{ "maxlength" => 35 }' - code: status_not_in_range category: status message: 'status should be in range: enabled, not_enabled' params: '' - code: date_of_birth_type_is_wrong category: date_of_birth message: date_of_birth should be of date type params: '{ "type" => "date" }' - code: date_of_birth_is_required category: date_of_birth message: Date of Birth is a required field. Please provide date of birth (YYYY-MM-DD) params: '' - code: contact_not_found category: id message: Contact was not found for this id params: '' - code: editing_first_last_name_not_allowed category: name message: You cannot edit First and Last name. Please contact support for additional information params: '' schema: $ref: '#/definitions/UpdateContactError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' - code: first_name_invalid_format category: first_name message: Please make sure that first_name doesn't contain < or > symbols params: '' - code: last_name_invalid_format category: last_name message: Please make sure that last_name doesn't contain < or > symbols params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /contacts/create: post: tags: - Contacts x-api-group: manage summary: Create Contact description: Creates a new contact and attaches it to a sub-account. Returns the new contact entity on success. operationId: CreateContact consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_id in: formData required: true type: string description: Account UUID format: uuid - name: first_name in: formData required: true type: string description: The contact's first name. minLength: 1 maxLength: 100 - name: last_name in: formData required: true type: string description: The contact's last name. minLength: 1 maxLength: 100 - name: email_address in: formData required: true type: string description: The contact's email address. pattern: ^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$ minLength: 6 maxLength: 255 - name: phone_number in: formData required: true type: string description: The contact's phone number. minLength: 1 maxLength: 100 - name: your_reference in: formData required: false type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: mobile_phone_number in: formData required: false type: string description: The contact's mobile phone number. minLength: 1 maxLength: 100 - name: login_id in: formData required: false type: string description: The contact's Currencycloud login ID, allows the contact to login and conduct activity on the sub-account. minLength: 1 maxLength: 50 - name: status in: formData required: false type: string enum: - enabled - not_enabled description: Contact status - "enabled" allows the contact to conduct activity on the sub-account, "not_enabled" disables the contact. - name: locale in: formData required: false type: string description: Locale code ("en", "en-US", "fr-FR"). minLength: 2 maxLength: 5 - name: timezone in: formData required: false type: string description: Timezone ("Europe/London", "America/New_York"). minLength: 7 maxLength: 35 - name: date_of_birth in: formData required: false type: string description: The contact's date of birth. ISO 8601 format YYYY-MM-DD. Required if account type is individual. format: date responses: '200': description: Success. schema: $ref: '#/definitions/Contact' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: first_name_invalid_format category: first_name message: Please make sure that first_name doesn't contain < or > symbols params: '' - code: last_name_invalid_format category: last_name message: Please make sure that last_name doesn't contain < or > symbols params: '' - code: account_id_is_required category: account_id message: account_id is required params: '' - code: first_name_is_required category: first_name message: first_name is required params: '' - code: last_name_is_required category: last_name message: last_name is required params: '' - code: email_address_is_required category: email_address message: email_address is required params: '' - code: phone_number_is_required category: phone_number message: phone_number is required params: '' - code: account_id_is_not_valid_uuid category: account_id message: account_id should be in UUID format params: '' - code: first_name_is_too_short category: first_name message: first_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: first_name_is_too_long category: first_name message: first_name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: last_name_is_too_short category: last_name message: last_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: last_name_is_too_long category: last_name message: last_name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: email_address_is_too_short category: email_address message: email_address can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: email_address_is_too_long category: email_address message: email_address can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: email_address_is_in_invalid_format category: email_address message: email_address is in invalid format params: '' - code: phone_number_is_too_short category: phone_number message: phone_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: phone_number_is_too_long category: phone_number message: phone_number can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: mobile_phone_number_is_too_short category: mobile_phone_number message: mobile_phone_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: mobile_phone_number_is_too_long category: mobile_phone_number message: mobile_phone_number can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: login_id_is_too_short category: login_id message: login_id can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: login_id_in_use category: login_id message: login_id already in use params: '{"field": "login_id"}' - code: login_id_is_too_long category: login_id message: login_id can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: locale_is_too_short category: locale message: locale can not be shorter than 2 character(s) params: '{ "minlength" => 2 }' - code: locale_is_too_long category: locale message: locale can not be longer than 5 character(s) params: '{ "maxlength" => 5 }' - code: timezone_is_too_short category: timezone message: timezone can not be shorter than 7 character(s) params: '{ "minlength" => 7 }' - code: timezone_is_too_long category: timezone message: timezone can not be longer than 35 character(s) params: '{ "maxlength" => 35 }' - code: status_not_in_range category: status message: 'status should be in range: enabled, not_enabled.' params: '' - code: date_of_birth_type_is_wrong category: date_of_birth message: date_of_birth should be of date type. params: '{ "type" => "date" }' - code: date_of_birth_is_required category: date_of_birth message: Date of Birth is a required field. Please provide date of birth (YYYY-MM-DD) params: '' schema: $ref: '#/definitions/CreateContactError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /contacts/generate_hmac_key: post: tags: - Contacts x-api-group: manage summary: Generate HMAC Key for Contact description: Generates a new account HMAC key for the current contact. operationId: GenrateHMACKey consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 responses: '200': description: Success. schema: $ref: '#/definitions/HMACKey' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: generate_hmac_key_wrong_brand category: base message: HMAC key can't be generated for that brand params: '' - code: generate_hmac_key_brand_not_configured category: base message: 'Brand #{brand} should be configured first' params: '' schema: $ref: '#/definitions/GenrateHMACKeyError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: Permission denied params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. components: securitySchemes: AuthToken: type: apiKey in: header name: X-Auth-Token definitions: GenrateHMACKeyError: type: object description: 'Client error information for the Contacts Generate HMAC Key endpoint. ' required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 RateLimitError: type: object description: Too many requests. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: A unique code that identifies this validation/error. message: type: string description: An explanation of the error in English. params: type: object default: {} description: Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 UnauthorizedError: type: object description: Authorization error. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. enum: - auth_failed error_messages: type: object description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 example: error_code: auth_failed error_messages: api_key: - code: invalid_supplied_credentials message: Authentication failed with the supplied credentials params: {} FindContactsError: type: object description: 'Client error information for the Find Contacts endpoint. ' required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 NotFoundError: type: object description: Resource not found. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object additionalProperties: type: array items: type: object description: An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 UpdateContactError: type: object description: 'Client error information for the Update Contact endpoint. ' required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 ForbiddenError: type: object description: Permission error. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. enum: - auth_failed error_messages: type: object description: Detailed error information on what permissions are missing so that the request could not be fulfilled additionalProperties: type: array items: type: object description: An object that represents the reasons why the request was not permitted. required: - code - message properties: code: type: string description: A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 HMACKey: type: object description: HMAC Key. required: - hmac_key additionalProperties: false properties: hmac_key: type: string description: The generated HMAC Key. example: hmac_key: 9562c7c1094dfe8f46125aa3f3c0d141471fadd443828bb0 CreateContactError: type: object description: 'Client error information for the Create Contact endpoint. ' required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 Contact: type: object description: Contact. properties: login_id: type: string description: The contact's Currencycloud login ID. id: type: string description: The contact's ID. your_reference: type: string description: The user-generated reference code given to the contact. first_name: type: string description: The contact's first name. last_name: type: string description: The contact's last name. account_id: type: string description: The contact's account ID. account_name: type: string description: The account name. status: type: string description: Contact status - "enabled" allows the contact to conduct activity on the sub-account, "not_enabled" disables the contact. phone_number: type: string description: The contact's phone number. mobile_phone_number: type: string description: The contact's mobile phone number. locale: type: string description: The contact's locale. timezone: type: string description: The contact's timezone. email_address: type: string description: The contact's email address. date_of_birth: type: string description: The contact's date of birth. created_at: type: string description: The date the contact record was created. updated_at: type: string description: The date the contact record was last updated. example: login_id: john.smith id: 543477161-91de-012f-e284-1e0030c7f352 your_reference: ACME12345 first_name: John last_name: Smith account_id: 87077161-91de-012f-e284-1e0030c7f352 account_name: Company PLC status: enabled phone_number: 06554 87845 mobile_phone_number: 07564 534 54 locale: en-US timezone: Europe/London email_address: john.smith@company.com date_of_birth: '1980-01-22T00:00:00.000Z' created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' GetContactError: type: object description: 'Client error information for the Get Contact endpoint. ' required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 Pagination: type: object description: Pagination. properties: total_entries: type: integer total_pages: type: integer current_page: type: integer per_page: type: integer description: Number of results per page. previous_page: type: integer next_page: type: integer order: type: string description: The field name by which the results are sorted. order_asc_desc: type: string enum: - asc - desc default: asc description: Whether results are sorted in ascending or descending order. example: total_entries: 1 total_pages: 1 current_page: 1 per_page: 25 previous_page: -1 next_page: 2 order: created_at order_asc_desc: asc