curl --request GET \
--url https://api.gigstack.io/v2/teams/{id}/vendors/operations/{operationId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gigstack.io/v2/teams/{id}/vendors/operations/{operationId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gigstack.io/v2/teams/{id}/vendors/operations/{operationId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"vendor_id": "<string>",
"master_team_id": "<string>",
"billing_account_id": "<string>",
"owner_id": "<string>",
"alias": "<string>",
"legal_name": "<string>",
"tax_id": "<string>",
"is_vendor": true,
"livemode": true,
"operation": {
"operation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_id": "<string>",
"status": "completed",
"replayed": true
},
"browser_handoff": "<string>",
"capability_delivery": "private_browser_only",
"operation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "completed",
"permanent_noncompletion": false,
"generation": 123,
"expires_at": 123,
"created_by": "<string>",
"purpose": "public_csd_onboarding",
"effect_scope": "team_shared",
"legacy_sessions_may_remain": true
}
}Read vendor creation operation
Read safe receipt under current original actor/master authority. not_found is not permanent proof of noncompletion. No automatic new UUID or provider replay.
curl --request GET \
--url https://api.gigstack.io/v2/teams/{id}/vendors/operations/{operationId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gigstack.io/v2/teams/{id}/vendors/operations/{operationId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gigstack.io/v2/teams/{id}/vendors/operations/{operationId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"vendor_id": "<string>",
"master_team_id": "<string>",
"billing_account_id": "<string>",
"owner_id": "<string>",
"alias": "<string>",
"legal_name": "<string>",
"tax_id": "<string>",
"is_vendor": true,
"livemode": true,
"operation": {
"operation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_id": "<string>",
"status": "completed",
"replayed": true
},
"browser_handoff": "<string>",
"capability_delivery": "private_browser_only",
"operation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "completed",
"permanent_noncompletion": false,
"generation": 123,
"expires_at": 123,
"created_by": "<string>",
"purpose": "public_csd_onboarding",
"effect_scope": "team_shared",
"legacy_sessions_may_remain": true
}
}Authorizations
Authentication Method: HTTP Bearer token.
The runtime requires the literal Bearer prefix — a bare token in the
Authorization header is rejected with 401 unauthorized.
Header Format: Authorization: Bearer YOUR_API_KEY
Your API key is a JWT. Live keys operate on live data (livemode: true);
test keys operate on isolated test data (livemode: false).
Get your key at: app.gigstack.pro/settings?tab=api
Errors: credential failures are answered by the authentication layer with a raw
{ "message": … } body, not the standardized envelope — 401 for a missing, malformed or
expired token, 403 for a revoked key or a plan without API access. See the Unauthorized
and AuthForbidden responses.
Path Parameters
^[A-Za-z0-9_-]{1,128}$^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$Query Parameters
Optional mode binding for creation readback. Machine credentials remain bound to their issued mode.
Response
Safe vendor metadata or operation/capability status. Never returns raw onboarding URLs.
Show child attributes
Show child attributes