Vector Trading Public API
This page describes the public REST API for bundle owners. Use Swagger for the exact schema.
The API supports:
- listing your bots bundles
- searching users by name
- listing current and scheduled bundle access grants
- creating and revoking access grants
- reading short-lived checkout sessions
API Keys
API keys are available to users with a premium or elite subscription in Profile -> API Keys.
API keys are intended for server-side integrations. Do not store or use them in browser JavaScript: public REST API requests do not rely on Vector Trading web sessions, cookies, or credentialed browser CORS.
Scopes:
- : list your bots bundles
- : search users by name
- : list, create, and revoke access grants
Use when your external billing system needs to grant or revoke bundle access.
Every request must include:
Authorization: Bearer vt_<apiKeyId>_<secret>
Base URL:
https://www.vector-trading.app/api/rest/v1
Flow
- List bundles with .
- Find a user with .
- Create a grant with .
- Track active grants with .
Endpoints
List bundles
curl -X GET "https://www.vector-trading.app/api/rest/v1/bundles" \-H "Authorization: Bearer $VECTOR_API_KEY"
Search users
curl -G "https://www.vector-trading.app/api/rest/v1/users" \-H "Authorization: Bearer $VECTOR_API_KEY" \--data-urlencode "displayName=alex" \--data-urlencode "limit=10"
is a case-insensitive prefix search query with length 2-30. Use the returned for grant operations.
List users with access
curl -X GET "https://www.vector-trading.app/api/rest/v1/bundles/<bundleId>/users" \-H "Authorization: Bearer $VECTOR_API_KEY"
Returns public user information with the current grant type, current grant period, and continuous access end ( or ).
List grants
curl -X GET "https://www.vector-trading.app/api/rest/v1/bundles/<bundleId>/grants" \-H "Authorization: Bearer $VECTOR_API_KEY"
Returns current and future non-revoked grants: , , , , , , .
Create grant
curl -X POST "https://www.vector-trading.app/api/rest/v1/bundles/<bundleId>/grants" \-H "Authorization: Bearer $VECTOR_API_KEY" \-H "Content-Type: application/json" \-d '{"userId": "<userId>","grantType": "paid_external","endsAt": "2026-07-19T12:00:00.000Z","sourceId": "stripe:invoice:in_123"}'
Allowed values: , , , .
Use for temporary access. Vector Trading chooses the grant : it starts immediately or after the current continuous access chain. If is already covered by an active or scheduled chain, the covered grant is returned and no duplicate is created. If is omitted, access is permanent.
For , is required and should identify the paid invoice, payment, or webhook event. It must be a visible ASCII token matching . If the same is reused for the same bundle, user, and grant type, the existing grant is returned.
External payments and recurring access
Vector Trading does not process payments and does not store a recurring subscription state for your checkout. Treat Vector Trading as an access ledger:
- When the first invoice is paid, create a grant with equal to the paid period end.
- When a recurring renewal invoice is paid, call the same endpoint again with a new and the next period .
- For a one-time lifetime purchase, create a grant with a unique and omit .
- If a renewal payment fails, do not create a new grant. The current access expires naturally.
- If the customer cancels at the period end, do not revoke the current grant. Just stop creating future grants.
- For an immediate cancellation, refund, or chargeback, revoke the current or future grants through the revoke endpoint.
Revoke grant
curl -X DELETE "https://www.vector-trading.app/api/rest/v1/bundles/<bundleId>/grants/<grantId>" \-H "Authorization: Bearer $VECTOR_API_KEY"
Warning: revocation sets on the selected grant and all current or future grants for the same user in this bundle that start after it. Grants are not physically deleted.
Checkout bridge
Bundle owners can set a strict HTTPS in bundle payment settings. is available only together with the bundle informational price and currency. When a user confirms the platform disclaimer, Vector Trading creates a 15-minute checkout session and opens the owner URL with appended to the query string. The owner checkout must read the session through the API before charging the user.
Read checkout session
curl -X GET "https://www.vector-trading.app/api/rest/v1/checkout/<checkoutId>" \-H "Authorization: Bearer $VECTOR_API_KEY"
The API key must belong to the bundle owner and have .
The response includes , , , , the current bundle display terms (, , and ), and does not include . Show the and payment amount to the user before charging them.
Errors
Common cases:
- : missing or invalid API key
- : the key does not have the required scope
- : bundle, user, grant, or checkout session was not found
- : invalid parameter or request body format
- : JSON request body is too large
- : request body is not
- /: server error with a generic public message and