Skip to content

Your First Integration

This guide takes you through a complete end-to-end integration with the Platform API — from obtaining a token to retrieving processed results.

What you'll build

A simple integration that:

  1. Authenticates using OAuth 2.0
  2. Uploads a CSV data file
  3. Polls for processing status
  4. Retrieves the processed output

Prerequisites

Complete Prerequisites & Setup first. You'll need your Client ID, Client Secret, and API Key ready.

1. Authenticate

Obtain a bearer token using the Client Credentials flow:

curl --location 'https://identity.example.com/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <base64(ClientID:URLEncodedClientSecret)>' \
--data 'grant_type=client_credentials&scope=platform_upload_api'

Store the access_token from the response — it's valid for a limited time.

2. Prepare your data

Your primary data file must be a CSV with the following columns in order:

Column Required Format
Reference Yes Text
StartDate Yes DD/MM/YYYY
StartTime Yes hh:mm
EndDate Yes DD/MM/YYYY
EndTime Yes hh:mm

Example CSV:

Reference,StartDate,StartTime,EndDate,EndTime
User1,01/07/2024,09:00,01/07/2024,17:00
User2,01/07/2024,08:30,01/07/2024,16:30

3. Upload data

curl --location 'https://api.example.com/api/UploadData' \
--header 'Authorization: Bearer <your_token>' \
--header 'Content-Type: application/json' \
--data '{
  "Name": "my-first-integration",
  "Data": "Reference,StartDate,StartTime,EndDate,EndTime\r\nUser1,01/07/2024,09:00,01/07/2024,17:00",
  "Key": "<Your_APIKey>",
  "Username": "<Your_ClientId>",
  "Overwrite": "false"
}'

The response is a processing token (UUID string). Save it.

4. Poll for status

curl 'https://api.example.com/api/GetResults?token=<processing_token>&key=<Your_APIKey>&dataKey=status' \
--header 'Authorization: Bearer <your_token>'

Repeat this request until the response is completedsuccessfully. If processing fails, set dataKey=feedback to retrieve error details.

5. Retrieve your results

Once status is completedsuccessfully, change dataKey to the output type you need:

curl 'https://api.example.com/api/GetResults?token=<processing_token>&key=<Your_APIKey>&dataKey=tableofresultids' \
--header 'Authorization: Bearer <your_token>'
curl 'https://api.example.com/api/GetResults?token=<processing_token>&key=<Your_APIKey>&dataKey=feedback' \
--header 'Authorization: Bearer <your_token>'

Next steps