Skip to main content

Welcome

The Taxis uploader API provides endpoints for uploading reservations to Government’s Short Term Rental Registry and filing the Climate Crisis Resilience Fee Statement (TAKK).

OpenAPI Specification

View the complete OpenAPI specification

Overview

This API allows you to:
  • Upload short-term rental records
  • Query an STR task’s upload status
  • Upload Climate Crisis Resilience Fee Statement
  • Query a TAKK statement’s upload task status

Authentication

All API endpoints require JWT Bearer token authentication. The applicable roles for this API are: str-uploader, takk-uploader, client-manager.

How to get a JWT token:

  1. Use your client ID and client secret obtained from your administrator
  2. Send a POST request to /auth/token with your credentials
  3. Use the returned access_token in the Authorization header: Bearer <access_token>

Example with curl:

curl -X POST {server}/api/v1/auth/token \
-H "Content-Type: application/json" \
-d '{
"clientId": "your-client-id",
"secret": "your-client-secret"
}'

Using the token:

curl -X GET {server}/api/v1/clients \
-H "Authorization: Bearer <your-access-token>"

Token refresh:

When your access token expires, use the refresh token:
curl -X POST {server}/api/v1/auth/refresh \
-H "Content-Type: application/json" \
-d '{
"refreshToken": "your-refresh-token-here"
}'
Note: Replace {server} with your actual server URL (e.g., https://api.yourdomain.com or http://localhost:8080 for local development).

Response Formats

All responses are in JSON format. Successful responses use HTTP 2xx status codes:
  • 200: Successful operation with response body
  • 201: Resource created
  • 202: Request accepted for processing
  • 204: Successful operation with no response body

Error Responses

Unsuccessful requests return a response with an error-indicating status code, and a json object with a ‘errorMessage’ and requestId field:
{
"errorMessage": "Not found",
"requestId": "a1b2c3d4-e5f6-7890-a1b2-c3d4e5f67890"
}

Error Values

When upload tasks fail, the system provides specific error classifications through the errorValue field. These help identify the cause of the failure:
Error ValueDescription
duplicate_declarationThe reservation has already been declared in the system
tax_id_not_foundThe provided tax ID could not be found or validated
timed_outThe upload operation exceeded the allowed time limit
failed_to_authenticateAuthentication with the government portal failed
failed_to_navigateUnable to navigate through the government portal interface
internalAn internal system error occurred
unknownAn unclassified error occurred