Quick Start
Get up and running with the Transport API in minutes.
Base URL & Authentication
Base URL
https://sign.client.api.stag.signapsesolutions.comAuthentication uses OAuth2 Bearer tokens. See How to Authenticate for full details.
Choose Your Flow
| Step | Endpoint | What you get |
|---|---|---|
| 1. Authenticate | POST /oauth2/token | JWT access token (valid 1 hour) |
| 2. Submit | POST /v1/sign-requests/train-announcements | Request ID to poll |
| 3. Poll | GET /v1/sign-requests/{id}?filter=status | Status + download link when complete |
1. Authenticate
Request an access token using your client credentials. The token is a JWT valid for 1 hour — include it as a Bearer token in all subsequent requests.
2. Submit a Train Announcement
Send a POST request with the announcement parameters. At minimum, provide a destination CRS code. Add timing, platform, operator, and other fields as needed.
The response includes a request id — save this to check the status of your video generation.
3. Check Request Status
Poll the status endpoint with your request ID. The response will transition from IN_PROGRESS to COMPLETED with a download link for the generated video.
Polling tips:
- Use exponential backoff (e.g. 1s, 2s, 4s…) to reduce load on the server.
- Stop polling once status is
COMPLETEDorFAILED.
Troubleshooting Checklist
- Confirm your Bearer token is valid and not expired.
- Ensure
destinationuses a valid 3-letter CRS code. - Check the Errors page for error code details.
- Rate limit: 1,500 requests per 5 minutes.
Request
# 1. Authenticate
curl --location --request POST \
'https://sign-stag.auth.eu-west-2.amazoncognito.com/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {clientId:clientSecret base64}' \
--data-urlencode 'grant_type=client_credentials'
# 2. Submit a Train Announcement
curl --location \
'https://sign.client.api.stag.signapsesolutions.com/v1/sign-requests/train-announcements' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"destination": "KGX",
"timing": "1130",
"platform": "6"
}'
# 3. Check Request Status
curl --location --request GET \
'https://sign.client.api.stag.signapsesolutions.com/v1/sign-requests/{requestId}?filter=status' \
--header 'Authorization: Bearer {token}'Response
{
"access_token": "eyJraWQ...",
"expires_in": 3600,
"token_type": "Bearer"
}Last updated on