Download OpenAPI specification:Download
Clym Partner API allows partners to onboard and manage domains.
Let's follow an example where a partner adds a domain for one of the websites they support.
1 Create a partner domain by performing a POST request to /portal/domains
Headers:
Authorization: YOUR_API_KEY
Content-type: application/json
Body:
{
"domain": "https://mycompany.com", // The domain to be registered (required).
"company_name": "My Company Inc", // The company legal name (required).
"company_trade_name": "My Company", // The company trade name if different from the company (legal) name (optional).
"company_id_number": "333000", // Internal company ID number (optional).
"account_email": "fifth@apple.com", // The email account of the domain owner. This email address will be used for all transactional emails (including onboarding emails) (required).
"account_first_name": "John", // The first name of the individual owning the domain
"account_last_name": "Doe", // The last name of the individual owning the domain
"phone_number": "+442071838750", // The phone number of the individual owning the domain
"vat_number": "GB123456789", // Company VAT number (optional).
"registration_number": "3123245432234", // Company registration number (optional).
"country": "UK", // Company country code in ISO 3166-1 alpha-2
"state": "", // Company state code in ISO 3166-1 alpha-2
"city": "London",
"postal_code": "E1 6DB",
"address": "1st Main Street",
"send_intro": true, // Determine if the system will send the customized email or not (optional).
"action": "CREATE_SILENT", // Specify the action the system will take for that domain. SCAN will perform a scan on the domain and send a scan report to the account owner. SCAN_INVITE will scan the domain and start the onboarding process. CREATE_SILENT will just create the company account and its associated domain. This can be used at a later stage to invite the account owner to onboard.
"primary_color": "#c3c3c3", // Optional, specify the domain's primary color
"has_scripts": true, // Optional, when disabled, the Widget will not handle any kind of consent/cookie management and will not block any scripts.
"has_dsar": true, // Optional, when disabled, the Widget will not allow any Data Subject Request creation
"has_docs": true, // Optional, when disabled, the Widget will not display any legal documents
"has_accessibility": true, // Optional, when disabled, the Widget will not have any accessibility functionality enabled.
"display_company": true, // Optional, when disabled, the Company tab in the widget will be hidden
"display_dpo": true, // Optional, when disabled, the DPO information in the widget will be hidden
"default_notice_type": "DISCRETE" // Optional, the default widget notification type to be used by the Widget. Values are: CLASSIC, DISCRETE, FOOTER, TOP
}
Partner Portal API reponds with:
{
"result": {
"id": "aa07e325ae3e4495b6c65c445onidzsb",
"status": "NEW",
"instance_property_id": "07b7c4f7fe5d48708d65336ezs7vosre",
"instance_company_id": "a135ba365ce24f54ab3b8b29mmh9cshq",
"created_at": "2022-10-06T07:00:45.038Z",
"updated_at": "2022-10-06T07:00:45.033Z",
"hostname": "mydomain.com",
"is_active": true,
"email": "john@doe.com",
"company_trade_name": "My Company",
"company_id_number": "333000",
"source": "API",
"partner_id": "ac276ff57f9b4d2196c28927gxh25xx6",
"has_scripts": true,
"has_dsar": true,
"has_docs": true,
"has_accessibility": true,
"display_company": true,
"default_notice_type": "DISCRETE",
"display_dpo": true,
"privacy_widget":
"<script>
window._clymInit=window._clymInit||[];
window._clymInit.push(['privacy','YOUR_PROPERTY_ID',{}]);
</script>
<script src='https://widget.clym-sdk.net/blocking.js'></script>
<script src='https://widget.clym-sdk.net/clym.js' async></script>",
"privacy_center_link": "<a href='#' onclick='Clym.showWidget();'>Privacy Center</a>",
"privacy_dnt_link": "<a href='#' onclick='Clym.showWidget('/requests/new/do_not_sell_my_information');'>Do not sell my personal information</a>"
}
}
The result.id can be then used in subsequent calls. For example to send an invite to the domain owner.
2 Invite the domain owner with POST request to /portal/domains/1f19dbcbc7b84be5b40ffcc4ya0zqbtr/invite
If suceessfull the Clym API will response with HTTP 200
and, depending on the action used on creation, the system might send an email to the domain account_email with instructions on how to set up the widget or with a scan report.
Once the privacy widget is placed on branch website and Clym backend
receives first page view the domain will become ACTIVE
.
Add a domain to the partner account
Domain object with of the domain to be added.
domain | string <uri> The domain to be registered (required). |
company_name | string The company legal name (required). |
company_trade_name | string The company trade name if different from the company (legal) name (optional). |
company_id_number | string Internal company ID number (optional). |
account_email | integer <email> The email account of the domain owner. This email address will be used for all transactional emails (including onboarding emails) (required). |
account_first_name | string The first name of the individual owning the domain (required). |
account_last_name | string The last name of the individual owning the domain (required). |
phone_number | string The phone number of the individual owning the domain (required). |
vat_number | string Company VAT number (optional). |
registration_number | string Company registration number (optional). |
country | string Company country code in ISO 3166-1 alpha-2 |
state | string Company state code in ISO 3166-1 alpha-2 |
city | string |
address | string |
postal_code | string |
primary_color | string Domain primary color (optional) |
has_scripts | boolean Optional, when disabled, the Widget will not handle any kind of consent/cookie management and will not block any scripts. |
has_dsar | boolean Optional, when disabled, the Widget will not allow any Data Subject Request creation |
has_docs | boolean Optional, when disabled, the Widget will not display any legal documents |
has_accessibility | boolean Optional, when disabled, the Widget will not have any accessibility functionality enabled. |
display_dpo | boolean Optional, when disabled, the DPO information in the widget will be hidden |
display_company | boolean Optional, when disabled, the Company tab in the widget will be hidden |
default_notice_type | any Enum: "CLASSIC" "DISCRETE" "FOOTER" "TOP" Optional default widget notification type to be used by the Widget |
send_intro | boolean Determine if the system will send the customized email or not (optional). |
action | any Enum: "SCAN" "SCAN_INVITE" "CREATE_SILENT" Specify the action the system will take for that domain. SCAN will perform a scan on the domain and send a scan report to the account owner. SCAN_INVITE will scan the domain and start the onboarding process. CREATE_SILENT will just create the company account and its associated domain. This can be used at a later stage to invite the account owner to onboard. |
{- "domain": "mycompany.com",
- "company_name": "My Company Inc",
- "company_trade_name": "My Company",
- "company_id_number": "333000",
- "account_email": "john@mycompany.com",
- "account_first_name": "John",
- "account_last_name": "Doe",
- "phone_number": "+1 980 446 8535",
- "vat_number": "GB 493049",
- "registration_number": "49434993",
- "country": "US",
- "state": "FL",
- "city": "Stuart",
- "address": "950 S Kanner Hwy Apt 401",
- "postal_code": "34994",
- "primary_color": "#c3c3c3",
- "has_scripts": true,
- "has_dsar": true,
- "has_docs": true,
- "has_accessibility": true,
- "display_dpo": true,
- "display_company": true,
- "default_notice_type": "CLASSIC",
- "send_intro": true,
- "action": "SCAN"
}
{- "result": {
- "id": "1f19dbcbc7b84be5b40ffcc4ya0zqbtr",
- "hostname": "mycompany.com",
- "status": "NEW",
- "instance_property_id": "7a56a154e6d242d796b9afdfx4clzjrg",
- "instance_company_id": "57cb7126dbbe4320b8c30be7uh1tj7h7",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "is_active": true,
- "email": "john@mycompany.com",
- "company_trade_name": "My Company Inc",
- "company_id_number": "333000",
- "has_scripts": true,
- "has_dsar": true,
- "has_docs": true,
- "has_accessibility": true,
- "display_company": true,
- "display_dpo": true,
- "default_notice_type": "CLASSIC",
- "source": "API",
- "partner_id": "ac276ff57f9b4d2196c28927gxh25xx6",
- "privacy_widget": "<script>\nwindow._clymInit=window._clymInit||[];\nwindow._clymInit.push(['privacy','YOUR_PROPERTY_ID',{}]);\n</script>\n<script src='https://widget.clym-sdk.net/blocking.js'></script>\n<script src='https://widget.clym-sdk.net/clym.js' async></script>\n",
- "privacy_center_link": "<a href=\"#\" onclick=\"Clym.showWidget();\">Privacy Center</a>\n",
- "privacy_dnt_link": "<a href=\"#\" onclick=\"Clym.showWidget('/requests/new/do_not_sell_my_information');\">Do not sell my personal information</a>\n"
}
}
Fetch all partner domains. Each domain object contains basic domain information. To obtain domain details please refer to /portal/domain/{domainId}
endpoint.
{- "result": [
- {
- "id": "1f19dbcbc7b84be5b40ffcc4ya0zqbtr",
- "hostname": "mycompany.com",
- "status": "NEW",
- "instance_property_id": "7a56a154e6d242d796b9afdfx4clzjrg",
- "instance_company_id": "57cb7126dbbe4320b8c30be7uh1tj7h7",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "is_active": true,
- "email": "john@mycompany.com",
- "company_trade_name": "My Company Inc",
- "company_id_number": "333000",
- "has_scripts": true,
- "has_dsar": true,
- "has_docs": true,
- "has_accessibility": true,
- "display_company": true,
- "display_dpo": true,
- "default_notice_type": "CLASSIC",
- "source": "API",
- "partner_id": "ac276ff57f9b4d2196c28927gxh25xx6",
- "privacy_widget": "<script>\nwindow._clymInit=window._clymInit||[];\nwindow._clymInit.push(['privacy','YOUR_PROPERTY_ID',{}]);\n</script>\n<script src='https://widget.clym-sdk.net/blocking.js'></script>\n<script src='https://widget.clym-sdk.net/clym.js' async></script>\n",
- "privacy_center_link": "<a href=\"#\" onclick=\"Clym.showWidget();\">Privacy Center</a>\n",
- "privacy_dnt_link": "<a href=\"#\" onclick=\"Clym.showWidget('/requests/new/do_not_sell_my_information');\">Do not sell my personal information</a>\n"
}
]
}
Fetch partner domain details
domainId required | string Id of the domain |
{- "result": {
- "id": "1f19dbcbc7b84be5b40ffcc4ya0zqbtr",
- "hostname": "mycompany.com",
- "status": "NEW",
- "instance_property_id": "7a56a154e6d242d796b9afdfx4clzjrg",
- "instance_company_id": "57cb7126dbbe4320b8c30be7uh1tj7h7",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "is_active": true,
- "email": "john@mycompany.com",
- "company_trade_name": "My Company Inc",
- "company_id_number": "333000",
- "source": "API",
- "partner_id": "ac276ff57f9b4d2196c28927gxh25xx6",
- "property": {
- "id": "7a56a154e6d242d796b9afdfx4clzjrg",
- "name": "mycompany.com",
- "company": {
- "id": "57cb7126dbbe4320b8c30be7uh1tj7h7",
- "name": "My Company Inc",
- "email": "john@mycompany.com",
- "address": {
- "country": "US",
- "city": "Stuart",
- "address": "950 S Kanner Hwy Apt 401",
- "postal_code": "34994",
- "phone_number": "+1 980 446 8535"
}, - "owner": {
- "id": "2c2d74241aff420a87f9f6dapr5mkaok",
- "email": "john@mycompany.com",
- "first_name": "John",
- "last_name": "Doe"
}
}
}, - "privacy_widget": "<script>\nwindow._clymInit=window._clymInit||[];\nwindow._clymInit.push(['privacy','YOUR_PROPERTY_ID',{}]);\n</script>\n<script src='https://widget.clym-sdk.net/blocking.js'></script>\n<script src='https://widget.clym-sdk.net/clym.js' async></script>\n",
- "privacy_center_link": "<a href=\"#\" onclick=\"Clym.showWidget();\">Privacy Center</a>\n",
- "privacy_dnt_link": "<a href=\"#\" onclick=\"Clym.showWidget('/requests/new/do_not_sell_my_information');\">Do not sell my personal information</a>\n"
}
}
Update information about a domain
domainId required | string Id of the domain |
company_name | string The company legal name (optional). |
company_trade_name | string The company trade name if different from the company (legal) name (optional). |
company_id_number | string Internal company ID number (optional). |
country | string Company country code in ISO 3166-1 alpha-2 (optional). |
state | string Company state code in ISO 3166-1 alpha-2 (optional). |
city | string Company city name (optional). |
address | string Company address (optional). |
postal_code | string Company postal code (optional) |
primary_color | string Domain primary color (optional) |
has_scripts | boolean Optional, when disabled, the Widget will not handle any kind of consent/cookie management and will not block any scripts. |
has_dsar | boolean Optional, when disabled, the Widget will not allow any Data Subject Request creation |
has_docs | boolean Optional, when disabled, the Widget will not display any legal documents |
has_accessibility | boolean Optional, when disabled, the Widget will not have any accessibility functionality enabled. |
display_dpo | boolean Optional, when disabled, the DPO information in the widget will be hidden |
display_company | boolean Optional, when disabled, the Company tab in the widget will be hidden |
default_notice_type | any Enum: "CLASSIC" "DISCRETE" "FOOTER" "TOP" Optional default widget notification type to be used by the Widget |
{- "company_name": "My Company Inc",
- "company_trade_name": "My Company",
- "company_id_number": "333000",
- "country": "US",
- "state": "FL",
- "city": "Stuart",
- "address": "950 S Kanner Hwy Apt 401",
- "postal_code": "34994",
- "primary_color": "#c3c3c3",
- "has_scripts": true,
- "has_dsar": true,
- "has_docs": true,
- "has_accessibility": true,
- "display_dpo": true,
- "display_company": true,
- "default_notice_type": "CLASSIC"
}
{- "id": "string"
}
Deactivate a domain. Deactivate an ACTIVE
domain. The domain state will change to INACTIVE
. The domain will be excluded from the list of partner domains.
domainId required | string Id of the domain to deactivate |
{- "error": {
- "code": "AUTH.API_KEY",
- "ns": "AUTH",
- "message": "API key is invalid or expired",
- "status": 401
}
}
Activate a domain. Activate an INACTIVE
domain. The domain state will change to ACTIVE
. The domain will be included in the list of partner domains.
domainId required | string Id of the domain to activate |
{- "error": {
- "code": "AUTH.API_KEY",
- "ns": "AUTH",
- "message": "API key is invalid or expired",
- "status": 401
}
}
Send an invitation to start the onboarding process for a domain. The invitation will be sent to the email address of the account owner. The domain state will change to INVITED
and once we start receiving first page views the domain state will change to ACTIVE
.
domainId required | string Id of the domain to invite |
Determine if the system will send the customized intro email or not.
send_invite | boolean |
{- "send_invite": true
}
{- "error": {
- "code": "AUTH.API_KEY",
- "ns": "AUTH",
- "message": "API key is invalid or expired",
- "status": 401
}
}
Add a subdomain to the partner account
domainId required | string Id of the domain to add the subdomain to |
Subdomain object with of the subdomain to be added.
subdomain | string |
{- "subdomain": "shop"
}
{- "result": {
- "id": "a9a678b195ff46bb865c3b1ec6wbbta8",
- "hostname": "shop.andona.com",
- "instance_domain_id": "b23cf02ffbe14a79bf543a845umpk5vj",
- "updated_at": "2023-02-18T14:57:58.000Z",
- "created_at": "2023-02-18T14:57:58.000Z",
- "domain_id": "2634b4d4183947cf95c99d99axwau9h8",
- "instance_id": "1"
}
}
Delete a subdomain from the partner account
domainId required | string Id of the domain to delete the subdomain from |
Subdomain object with of the subdomain to be deleted.
subdomain | string |
{- "subdomain": "shop"
}
{- "result": {
- "message": "Subdomain deleted successfully"
}
}
Add a new merchant to your partner account
Merchant object with of the merchant to be added.
merchant_id | string [ 1 .. 32 ] characters The external merchant ID from the partner's system |
company_name | string An optional company name attached to this merchant |
description | string An optional description of the merchant |
created_at | string <date-time> |
partner_id | string |
{- "merchant_id": "1234567890a",
- "company_name": "Acme Inc",
- "description": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "partner_id": "string"
}
{- "result": {
- "merchant_id": "1234567890a",
- "company_name": "Acme Inc",
- "description": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "partner_id": "string"
}
}
Fetch all partner merchants
page | integer Default: 1 Current page in pagination |
limit | integer Default: 10 Limit the number of results |
search | string Search text to filter |
is_registered | boolean Include only registered merchants |
merchant_id | string Filter by external merchant id |
created_at_start | string <date-time> Retrieve merchants created after the specified date |
created_at_end | string <date-time> Retrieve merchants created before the specified date |
{- "result": [
- {
- "id": "string",
- "merchant_id": "string",
- "company_name": "string",
- "description": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "partner_id": "string",
- "domain": {
- "id": "string",
- "hostname": "string",
- "status": "string",
- "is_active": true,
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "source": "string"
}
}
], - "meta": {
- "current_page": 0,
- "next_page": 0
}
}
Fetch information about individual merchants
merchantId required | string Id of the merchant entity to be updated |
{- "id": "string",
- "merchant_id": "string",
- "company_name": "string",
- "description": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "partner_id": "string",
- "domain": {
- "id": "string",
- "hostname": "string",
- "status": "string",
- "is_active": true,
- "created_at": "2019-08-24T14:15:22Z",
- "email": "user@example.com",
- "source": "string"
}
}
Update a merchant's information
merchantId required | string Id of the merchant entity to be updated |
Merchant information that needs to be updated
merchant_id | string [ 1, .. 32 ] characters The new external merchant id to use, optional |
company_name | string <= 100 characters The company name to set, optional |
description | string <= 500 characters Description of this merchant, optional |
{- "merchant_id": "string",
- "company_name": "string",
- "description": "string"
}