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:
- Authenticates using OAuth 2.0
- Uploads a CSV data file
- Polls for processing status
- 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:
Next steps
- Read the full Upload API concepts for payload details and advanced options
- See the C# tutorial for a complete code implementation
- Set up real-time processing events via the AsyncAPI