Skip to navigation

Create a new partner contact request

View as Markdown

Create a contact request for a partner in one of your own directories from your own server. Authenticate with your API token (Authorization: Token <your-api-token>); the token’s organization must own the directory. CAPTCHA is not required: the token is the trust signal. The contact form on the public directory website is a separate flow for anonymous visitors; it requires a valid captcha and an API token does not replace it there.

Before submitting, read the directory’s contact request form (GET /api/directory/public/v1alpha/directories/{directoryId}/forms/contact-request/) for the field IDs, internal labels, types and which fields are required. Send one answer per field in form.answers, identified by fieldId or internalLabel. First name, last name, email and company name are always required; the directory’s form can require more. Property names are accepted in camelCase (as in the examples) or snake_case (as in the schema).

utmQueryParams stores attribution data with the request. routingSource is a free-text label of up to 100 characters that records where your integration routed the request from (for example the partner pool it picked from); it is returned wherever the request is read back and can be filtered and reported on.

A company website without a scheme (acme.com) is stored with https://. One that is not an http(s) web address (for example an email address) is dropped, with its answer cleared, and the request is still created without it instead of answering 400.

The directory must have contact requests enabled and the partner entry must belong to the directory in the path. Limited to 50 requests per hour per user.

Authentication

AuthorizationToken

Your API key, sent as Authorization: Token <your API key>

Path parameters

directoryIdstringRequiredformat: "uuid"
ID of the directory containing the partner entry
entryIdstringRequiredformat: "uuid"
ID of the partner entry to create a contact request for

Request

This endpoint expects an object.
formobjectRequired
utmQueryParamsmap from strings to anyOptional

UTM attribution to store with the request, for example {"utmSource": "api", "utmMedium": "server-to-server"}.

routingSourcestring or nullOptional1-100 characters
Where your integration routed the request from, for example the partner pool it picked the partner from.

Response

Partner contact request created successfully.
idstringformat: "uuid"
answerslist of objects
createdstring or nullRead-only
routingSourcestring or null
utmQueryParamsany or nullOptional

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error