Information
- License: Proprietary
- OpenAPI version:
3.1.1
Federal contract opportunities, enriched, searchable, and matched to your company.
Conventions that apply to every operation:
application/problem+json),
and every error includes traceId. Every response, errors and
successes alike, carries a Server-Timing header with a trace metric,
such as trace;desc=00-{trace-id}-{span-id}-01. Its trace ID is the
error’s traceId, so support can find the request from either.limit (default 50, maximum 200) and cursor, and return
{ items, nextCursor }. Cursors are opaque and expire after 24 hours.sort, one field from each operation’s allow-list. A
leading - sorts descending. Items with equal values keep a stable
order across pages.tzAssumed: true.{ amount, currency }, with the amount as a decimal string.POST requests require Idempotency-Key, per caller (a
user, machine client, or service identity), operation, and acting
organization where there is one. A retry with the same key returns the
original response, with Idempotent-Replayed: true, for 24 hours after
it completes. A refused request keeps nothing, so it can be retried.ETag.
If-None-Match returns 304. PUT and PATCH require If-Match, and
return 412 when it is stale.404. A missing
scope returns 403 (insufficient-scope).RateLimit-Policy and RateLimit
headers where the API answers; a 429 with a Problem comes with Retry-After.
A 429 with an empty body has the X-RateLimit-Limit,
X-RateLimit-Remaining, and X-RateLimit-Reset headers instead (see the
429 response).Tokens come from the deployment’s OpenID Connect provider. The URLs
below are relative to its issuer; clients should read the real
endpoints from its discovery document
(/.well-known/openid-configuration).
iss and sub the machine client’s
subject, which its view shows once provisioned, not its id;
aud the issuer, exp at most 5 minutes ahead, and a unique
jti), and posts it to the token URL below with
grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer and
assertion set to that JWT. It gets an access token without a
refresh token. There are no client secrets.Every client requests the API’s audience scope when it gets an access
token: urn:zitadel:iam:org:project:id:{projectId}:aud, with the
project ID the developer documentation gives for each environment. The scopes
below are what each operation requires. Tokens don’t carry them: the
API works out a caller’s scopes itself, a user’s from the client they
signed in with and a machine client’s from those its organization’s
owner chose for it.
Security scheme type: oauth2
Flow type: authorizationCode
Authorization URL: https://auth-staging.fedwright.com/oauth/v2/authorize
Token URL: https://auth-staging.fedwright.com/oauth/v2/token
Scopes: