Consent Manager API - Copy Configurations

This API allows you to copy in bulk a consent configuration that was previously created on the Osano Admin Application for use across multiple web properties.

Prior to using this API, be sure to create a template consent manager configuration within the Osano Web Application. See the CMP Setup Guide for instructions. Once the Consent Manager is configured to your liking, use the "Get Code" button to obtain your Osano.js. 

Your osano.js will contain your Customer ID and your Configuration ID


Note: The Copy Configuration API currently creates a full copy of the template configuration. The following will be copied over to the new configuration(s):

  • Settings
  • Domains
  • Styling
  • Script and Cookie Rules

The "Name" of your newly copied configurations will appear as "configName-Copy" in the Osano Application until edited. 


Using the API

In the Osano Web Applicaiton (

- Log in as an Administrator. 

- Click on "Settings" (gear icon on the top-right of the screen).

- Choose API Keys.

- Click the green "+" to add a new key.

- When prompted, click "confirm" to generate a new API Key.

- Copy this key for safekeeping. (Once it disappears, you will not be able to access it again.) The API key will last for 5 years before it expires and is no longer valid. 

In your preferred API Client (ex. Postman or similar tools): 

  • In your API request:
    • Method: POST
    • Endpoint:
    • Provide the token garnered above as a Bearer type in the Authorization settings.
  • This endpoint currently has two supported operations. 
    • (1): a single copy of a consent manager configuration
    • (2) multiple copies of a consent manager configuration (up to 25 maximum in one call). Note: the webhookURL is optional
  • The GraphQL query bodies: 
    • Single copy: (be sure to replace configId with your appropriate Id)
      query {
      copyConfig(configName: "dougtest", webhookURL: "") {
        ... on Error { message } ... on Config { configId }
    • Multiple copies: (be sure to replace configId with your appropriate Id)

      query {
      copyNConfigs(configName: "dougtest", webhookURL: "", numRequests: 2) {
        ... on Error { message } ... on Configs { configIds }
  • Example Response
  "data": {
      "copyNConfigs": {
          "configIds": [