Skip to Content
Transport APIQuick Start

Quick Start

Get up and running with the Transport API in minutes.

Base URL & Authentication

Base URL
https://sign.client.api.stag.signapsesolutions.com

Authentication uses OAuth2 Bearer tokens. See How to Authenticate for full details.

Choose Your Flow

StepEndpointWhat you get
1. AuthenticatePOST /oauth2/tokenJWT access token (valid 1 hour)
2. SubmitPOST /v1/sign-requests/train-announcementsRequest ID to poll
3. PollGET /v1/sign-requests/{id}?filter=statusStatus + 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 COMPLETED or FAILED.

Troubleshooting Checklist

  • Confirm your Bearer token is valid and not expired.
  • Ensure destination uses 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
Question? Give us feedback
support@signapse.ai