IN THIS ARTICLE:
Authentication overview
Authentication is made with API key. You can generate it in your Woodpecker panel. Not sure how? Check this guide.
API Key is a part of an API Key and Integrations add-on, click here to learn how to get it on Marketplace »
Your API key identifies your account so keep it secret!
Remember, API key is a required parameter. We'll return an error if it's missing or invalid.
Another noteworthy thing is that if you use Agency panel, each company you've added can have their own API keys. To access any data from a specific company added to your Agency, you need to generate API key for this company.
How to access Woodpecker API
All API requests starts with https://api.woodpecker.co/rest/v1.
To make request you can place your API key in headers, as following:
headers : {
"Authorization" : "Basic <API KEY>"
}
If you prefer to use cURL, you can use the following syntax:
curl --location --request GET 'https://api.woodpecker.co/rest/v1/endpoint_of_your_choice' \
--header 'Authorization: Basic <API_KEY>'
Remember to encode your API key to Base64 format before using it in cURL request.
If you're using an API platform such as Postman to access the API, you need to choose Authentication Basic option and provide your API key (not encoded) as a username or password.
Master API Key Authentication
By using the API Key generated on the main account of the Agency, you can specify in the header the ID of the company in the context of which you want the request to be interpreted. This way, using one key from the main account, you can make requests as different companies (instead of making the API Key change to one coming from a company).
To determine whether a request should be treated under the Agency company besides the authorization header, use the following header:
x-company-id: <YOUR_CLIENT_COMPANY_ID>
If you prefer to use cURL, you can use the following syntax (with header):
curl --location --request GET 'https://api.woodpecker.co/rest/v1/webhooks'\
--header 'x-api-key: <YOUR_AGENCY_HQ_API_KEY>' \
--header 'x-company-id: <YOUR_CLIENT_COMPANY_ID>'
Sample response:
{
"webhooks": [
{
"target_url": "https://yourdomain.com/webhooks/target_url/<YOUR_CLIENT_COMPANY_ID>",
"event": "PROSPECT_REPLIED"
}
]
}
Error list
HTTP | type | description |
400 | BAD_REQUEST |
|
403 | FORBIDDEN |
|
404 | NOT_FOUND |
|
409 | CONFLICT |
|
403 | FORBIDDEN |
|