OVERVIEW
The Partners API is used to create and manage users in Wrapp via API calls.
An AI-friendly Markdown version of this documentation, ideal for LLMs and coding agents, is available at
https://wrapp.ai/api/partnersonboarding.md
GETTING ACCESS
To use the Partners API, request an API key through the contact form.
Include the API key in your request headers as:
X-PARTNER-API-KEY: <your_key_here>
https://wrapp.ai/api/v1/
X-PARTNER-API-KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxx
CREATE / LOGIN USER
To create a new user or log in an existing one, make a POST request to:
https://wrapp.ai/api/v1/external_login
Wrapp.ai will respond with a login_url that the user can use to log in.
PARAMETERS
| Param Name | Required | Type | Description |
|---|---|---|---|
| yes | string | Email of the user that will be used to create their account in Wrapp.ai | |
| partner_user_id | yes | string | External unique identifier that will be used to identify the user in Wrapp.ai |
| phone | yes | string | Phone of the user that will be used to create their account in Wrapp.ai |
| webhook_endpoint | no | string | Webhook endpoint that will return details on user creation |
curl -L 'https://wrapp.ai/api/v1/external_login' \
-H 'X-PARTNER-API-KEY: XXXXXXXXXXXXXXXXXXXXXXXX' \
-H 'Content-Type: application/json' \
-d '{
"email": "[email protected]",
"partner_user_id": "abc123",
"phone": "1234567890",
"webhook_endpoint": "https://yoursite.com/webhook"
}'
{
"login_url": "https://wrapp.ai/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
WEBHOOK · USER CREATED
If the user was created, Wrapp.ai will send the following payload to the provided
webhook_endpoint:
FIELDS
| Param Name | Description |
|---|---|
| wrapp_user_id | Id of the user in Wrapp |
| partner_user_id | Id of the user in partner (the id provided in the initial call) |
| api_key | API key of the user, used for further API actions on their behalf |
{
"wrapp_user_id": "xxxxx-xxxxx-xxxxx-xxxxx",
"partner_user_id": "xxxxxxxxxx",
"api_key": "xxxxxxxxxxxxxxxxxxxxx"
}
CHECK USER
This endpoint shows if the user exists and whether they have an active subscription.
Make a POST request to:
https://wrapp.ai/api/v1/embedded_check_user
PARAMETERS
| Param Name | Required | Type | Description |
|---|---|---|---|
| partner_user_id | yes | string | Unique identifier that has been used to identify the user in Wrapp.ai |
RESPONSE FIELDS
| Name | Type | Description |
|---|---|---|
| user | string | User's email |
| active_subscription | boolean | User's subscription status |
curl -L 'https://wrapp.ai/api/v1/embedded_check_user' \
-H 'X-PARTNER-API-KEY: XXXXXXXXXXXXXXXXXXX' \
-H 'Content-Type: application/json' \
-d '{"partner_user_id": "abc123"}'
{
"user": "[email protected]",
"active_subscription": false
}
Frequently asked questions
What is the Wrapp Partners API?
It is Wrapp's multi-tenant onboarding API: you create and manage Wrapp accounts (a subaccount per VAT number) for your end customers programmatically, so your app activates them for myDATA invoice issuance with no manual steps.
How do I create a Wrapp account for each of my customers via API?
Call POST /api/v1/external_login with email, partner_user_id and phone. Wrapp returns a login_url for the user and, once the account is created, sends a webhook with the tenant's wrapp_user_id and api_key, which you use to issue documents on their behalf.
How do I get a Partner API key (X-PARTNER-API-KEY)?
The Partners API is enabled per partner: request it through the contact form; you receive a staging key for testing and a production key when you are ready.
How do I check whether a customer already has an account or an active subscription?
With POST /api/v1/embedded_check_user and the partner_user_id: the response returns the user's email and whether they have an active subscription (active_subscription).
What is the difference between the Partner key and a tenant's API key?
The X-PARTNER-API-KEY is only for onboarding: creating and checking users via the Partners API. Each tenant gets its own api_key, used to log in to the Invoice Issue API and issue its documents.
Who signs the contract with and bills the end customer?
Wrapp does: the end user digitally accepts the contract and pays for their subscription during onboarding. Your app remains the front-end; you do not handle billing or contracts.