Skip to main content

Authentication at Pion

The Pion API provides an OAuth Client Credentials grant flow for accessing our services. Client credentials can be self-served in the Pion Portal. This will create a new pairing of a clientId and clientSecret that is used to fetch an access token that must be passed into requests that require authentication. Once you’ve got client credentials, you can send a request to the /auth/token endpoint. This is a post request with two body parameters. Client ID The Client ID is a unique identifier that is attached to your credentials by Pion. This should be considered sensitive data and stored securely. Client Secret The Client Secret is a confidential key that should be stored securely. This is used in conjunction with the Client ID to grant access to the Pion API. This endpoint will return an access token that can then be used in subsequent requests that require authentication. Access Token A short-lived token that is used to verify that a client has permissions to access Pion data.

Leads

The Lead Service captures rich, consented data directly from a brands verification integrations and marketplace, allowing you to enrich customer profiles and enhance your existing CRM. Leads are returned in batches of 1000. When a request has more than 1000 leads, an optional cursor attribute will be present in the response, which can be used to fetch the next batch of 1000 leads. Once you have a valid access token, retrieved via the /auth endpoint. You can use this token to request lead data for your organisation. This is a GET request with two query parameters. From - This is the date, formatted dd-mm-yyyy, that you would like the earliest lead data from. To - This is the date, formatted dd-mm-yyyy, that you would like the latest lead data from. Cursor - This is the optional reference object for the next item in the batch This endpoint will return a list of the lead data between the two ranges.

Technical Documentation

[POST] /auth/token

POST https://api.wearepion.com/auth/token

Body Params

Example Request Body**:**

Headers

Example Responses

200 OK

400 Bad Request

Examples of the detail statement can be as follows:
  • JSON body required
  • clientId required
  • clientSecret required

401 Unauthorised

[GET] /leads

GET https://api.wearepion.com/leads?from=13-01-2026&to=13-02-2026

Headers

Query Parameters

Example Responses

GET https://api.wearepion.com/leads?from=13-01-2026&to=13-02-2026

A request for leads data that does not contain the fields query parameter will return all available leads data within range.

400 Bad Request

401 Unauthorised

[GET] /leads - Request Selected Fields Only

Using the optional fields query parameter you may request leads data to return only selected fields. Available fields:
  • lead_type
  • sbid
  • email
  • first_name
  • second_name
  • gender
  • date_of_birth
  • country
  • institution
  • grad_year

Example Responses

200 OK

GET https://api.wearepion.com/leads?from=13-01-2026&to=13-02-2026&fields[lead]=email,institution,grad_year

422 Bad Request

GET https://api.wearepion.com/leads?from=13-01-2026&to=13-02-2026&fields[lead]=email,institution,potatoes

422 Bad Request

GET https://api.wearepion.com/leads?from=13-01-2026&to=13-02-2026&fields[lead]=