openapi: 3.2.0 info: description: 'Vehicle identity and intelligence data — VIN decode, market value, listings, depreciation, reports, listing history, photos, specifications, recalls, and ownership costs — plus the account, API-key, and billing control plane. Data endpoints authenticate with a product API key (`Authorization: Bearer `); control-plane endpoints use a dashboard session token. Errors are RFC 9457 application/problem+json, and every response carries an x-request-id header.' title: Vehicles.dev Operator API version: 0.0.0 servers: - description: Vehicles.dev API url: https://api.vehicles.dev tags: - name: Operator paths: /v1/ops/whoami: get: operationId: getOperatorIdentity tags: - Operator security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: object required: - authenticatedAt - kind - principalId - product - roles - sessionExpiresAt properties: authenticatedAt: type: string format: date-time kind: type: string enum: - operator principalId: type: string minLength: 1 product: anyOf: - type: string enum: - employment - type: string enum: - vehicles roles: type: array items: anyOf: - type: string enum: - support - type: string enum: - data_steward - type: string enum: - billing_ops - type: string enum: - platform_admin minItems: 1 sessionExpiresAt: type: string format: date-time additionalProperties: false '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/admin/snapshot: get: operationId: getOperatorAdminSnapshot tags: - Operator security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: object required: - accounts - generatedAt - limits - members - orders - overview - usage properties: accounts: type: array items: type: object required: - billingInterval - cancelAtPeriodEnd - createdAt - creditBalanceMicros - id - lastUsedAt - memberCount - name - planId - renewsAt - status - subscriptionStatus - usageCalls30d - usageNetMicros30d properties: billingInterval: anyOf: - type: string enum: - monthly - type: string enum: - annual cancelAtPeriodEnd: type: boolean createdAt: type: string format: date-time creditBalanceMicros: type: integer minimum: 0 id: type: string format: uuid lastUsedAt: anyOf: - type: string format: date-time - type: 'null' memberCount: type: integer minimum: 0 name: type: string planId: anyOf: - type: string enum: - starter - type: string enum: - pro - type: string enum: - scale renewsAt: anyOf: - type: string format: date-time - type: 'null' status: anyOf: - type: string enum: - active - type: string enum: - suspended - type: string enum: - deleted subscriptionStatus: anyOf: - type: string enum: - active - type: string enum: - trialing - type: string enum: - past_due - type: string enum: - canceled usageCalls30d: type: integer minimum: 0 usageNetMicros30d: type: integer minimum: 0 additionalProperties: false generatedAt: type: string format: date-time limits: type: object required: - accounts - members - orders - recentUsage properties: accounts: type: object required: - limit - truncated properties: limit: type: number enum: - 200 truncated: type: boolean additionalProperties: false members: type: object required: - limit - truncated properties: limit: type: number enum: - 300 truncated: type: boolean additionalProperties: false orders: type: object required: - limit - truncated properties: limit: type: number enum: - 200 truncated: type: boolean additionalProperties: false recentUsage: type: object required: - limit - truncated properties: limit: type: number enum: - 200 truncated: type: boolean additionalProperties: false additionalProperties: false members: type: array items: type: object required: - accountId - accountName - id - joinedAt - principalId - providerUserId - role - status properties: accountId: type: string format: uuid accountName: type: string id: type: string format: uuid joinedAt: type: string format: date-time principalId: type: string format: uuid providerUserId: anyOf: - type: string - type: 'null' role: anyOf: - type: string enum: - owner - type: string enum: - admin - type: string enum: - developer - type: string enum: - billing status: anyOf: - type: string enum: - active - type: string enum: - removed additionalProperties: false orders: type: array items: type: object required: - accountId - accountName - amountMicros - description - id - kind - occurredAt - reference properties: accountId: type: string format: uuid accountName: type: string amountMicros: type: integer description: type: string id: type: string format: uuid kind: anyOf: - type: string enum: - purchase - type: string enum: - promotion - type: string enum: - refund - type: string enum: - adjustment occurredAt: type: string format: date-time reference: anyOf: - type: string - type: 'null' additionalProperties: false overview: type: object required: - activeAccounts - activeSubscriptions - apiCalls30d - members - netUsageMicros30d - orders30d properties: activeAccounts: type: integer minimum: 0 activeSubscriptions: type: integer minimum: 0 apiCalls30d: type: integer minimum: 0 members: type: integer minimum: 0 netUsageMicros30d: type: integer minimum: 0 orders30d: type: integer minimum: 0 additionalProperties: false usage: type: object required: - byMetric - daily - recent properties: byMetric: type: array items: type: object required: - calls - metricId - netAmountMicros - quantity properties: calls: type: integer minimum: 0 metricId: type: string netAmountMicros: type: integer minimum: 0 quantity: type: integer minimum: 0 additionalProperties: false daily: type: array items: type: object required: - calls - day - netAmountMicros - quantity properties: calls: type: integer minimum: 0 day: type: string pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ netAmountMicros: type: integer minimum: 0 quantity: type: integer minimum: 0 additionalProperties: false recent: type: array items: type: object required: - accountId - accountName - id - metricId - netAmountMicros - occurredAt - quantity properties: accountId: type: string format: uuid accountName: type: string id: type: string format: uuid metricId: type: string netAmountMicros: type: integer minimum: 0 occurredAt: type: string format: date-time quantity: type: integer minimum: 0 additionalProperties: false additionalProperties: false additionalProperties: false '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/admin/accounts/{accountProductId}/orders/{orderId}/refund: post: operationId: refundOperatorAdminOrder tags: - Operator requestBody: required: true content: application/json: schema: type: object required: - operationId - reason properties: amountMicros: type: integer minimum: 10000 multipleOf: 10000 operationId: type: string format: uuid reason: type: string maxLength: 1000 minLength: 1 additionalProperties: false parameters: - schema: type: string format: uuid in: path name: accountProductId required: true - schema: type: string format: uuid in: path name: orderId required: true security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: object required: - amountMicros - creditBalanceMicros - creditReversalApplied - refundId - status properties: amountMicros: type: integer minimum: 1 creditBalanceMicros: type: integer minimum: 0 creditReversalApplied: type: boolean refundId: type: string minLength: 1 status: anyOf: - type: string - type: 'null' additionalProperties: false '400': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '404': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '409': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/admin/accounts/{accountProductId}/subscription/plan: post: operationId: changeOperatorAdminSubscriptionPlan tags: - Operator requestBody: required: true content: application/json: schema: type: object required: - operationId - planId - reason properties: operationId: type: string format: uuid planId: anyOf: - type: string enum: - pro - type: string enum: - scale reason: type: string maxLength: 1000 minLength: 1 additionalProperties: false parameters: - schema: type: string format: uuid in: path name: accountProductId required: true security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: object required: - applied - billingInterval - cancelAtPeriodEnd - planId - renewsAt - status properties: applied: type: boolean billingInterval: anyOf: - type: string enum: - monthly - type: string enum: - annual cancelAtPeriodEnd: type: boolean planId: anyOf: - type: string enum: - starter - type: string enum: - pro - type: string enum: - scale renewsAt: anyOf: - type: string format: date-time - type: 'null' status: anyOf: - type: string enum: - active - type: string enum: - trialing - type: string enum: - past_due - type: string enum: - canceled additionalProperties: false '400': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '404': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '409': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/admin/accounts/{accountProductId}/subscription/cancellation: post: operationId: setOperatorAdminSubscriptionCancellation tags: - Operator requestBody: required: true content: application/json: schema: type: object required: - cancelAtPeriodEnd - operationId - reason properties: cancelAtPeriodEnd: type: boolean operationId: type: string format: uuid reason: type: string maxLength: 1000 minLength: 1 additionalProperties: false parameters: - schema: type: string format: uuid in: path name: accountProductId required: true security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: object required: - applied - billingInterval - cancelAtPeriodEnd - planId - renewsAt - status properties: applied: type: boolean billingInterval: anyOf: - type: string enum: - monthly - type: string enum: - annual cancelAtPeriodEnd: type: boolean planId: anyOf: - type: string enum: - starter - type: string enum: - pro - type: string enum: - scale renewsAt: anyOf: - type: string format: date-time - type: 'null' status: anyOf: - type: string enum: - active - type: string enum: - trialing - type: string enum: - past_due - type: string enum: - canceled additionalProperties: false '400': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '404': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '409': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/break-glass/requests: post: operationId: requestBreakGlassLease tags: - Operator requestBody: required: true content: application/json: schema: type: object required: - accountProductId - durationMinutes - incidentReference - reason properties: accountProductId: type: string format: uuid durationMinutes: type: integer maximum: 30 minimum: 1 incidentReference: type: string maxLength: 120 minLength: 3 reason: type: string maxLength: 500 minLength: 3 additionalProperties: false security: - workosBearer: [] responses: '201': description: Default Response content: application/json: schema: type: object required: - accountProductId - activatedAt - approvedAt - expiresAt - id - product - requestedAt - state properties: accountProductId: type: string format: uuid activatedAt: anyOf: - type: string format: date-time - type: 'null' approvedAt: anyOf: - type: string format: date-time - type: 'null' expiresAt: anyOf: - type: string format: date-time - type: 'null' id: type: string format: uuid product: anyOf: - type: string enum: - employment - type: string enum: - vehicles requestedAt: type: string format: date-time state: anyOf: - type: string enum: - requested - type: string enum: - approved_pending_export - type: string enum: - active - type: string enum: - revoked - type: string enum: - expired additionalProperties: false '400': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '404': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '409': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/break-glass/requests/{leaseId}/approve: post: operationId: approveBreakGlassLease tags: - Operator requestBody: required: true content: application/json: schema: type: object required: - reason properties: reason: type: string maxLength: 500 minLength: 3 additionalProperties: false parameters: - schema: type: string format: uuid in: path name: leaseId required: true security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: object required: - accountProductId - activatedAt - approvedAt - expiresAt - id - product - requestedAt - state properties: accountProductId: type: string format: uuid activatedAt: anyOf: - type: string format: date-time - type: 'null' approvedAt: anyOf: - type: string format: date-time - type: 'null' expiresAt: anyOf: - type: string format: date-time - type: 'null' id: type: string format: uuid product: anyOf: - type: string enum: - employment - type: string enum: - vehicles requestedAt: type: string format: date-time state: anyOf: - type: string enum: - requested - type: string enum: - approved_pending_export - type: string enum: - active - type: string enum: - revoked - type: string enum: - expired additionalProperties: false '400': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '404': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '409': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/break-glass/requests/{leaseId}/revoke: post: operationId: revokeBreakGlassLease tags: - Operator requestBody: required: true content: application/json: schema: type: object required: - reason properties: reason: type: string maxLength: 500 minLength: 3 additionalProperties: false parameters: - schema: type: string format: uuid in: path name: leaseId required: true security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: object required: - accountProductId - activatedAt - approvedAt - expiresAt - id - product - requestedAt - state properties: accountProductId: type: string format: uuid activatedAt: anyOf: - type: string format: date-time - type: 'null' approvedAt: anyOf: - type: string format: date-time - type: 'null' expiresAt: anyOf: - type: string format: date-time - type: 'null' id: type: string format: uuid product: anyOf: - type: string enum: - employment - type: string enum: - vehicles requestedAt: type: string format: date-time state: anyOf: - type: string enum: - requested - type: string enum: - approved_pending_export - type: string enum: - active - type: string enum: - revoked - type: string enum: - expired additionalProperties: false '400': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '404': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '409': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/accounts/{accountProductId}/invitation-security-reviews: get: operationId: listInvitationSecurityReviews tags: - Operator parameters: - schema: type: integer maximum: 100 minimum: 1 in: query name: limit required: false - schema: anyOf: - type: string enum: - open - type: string enum: - resolved in: query name: state required: false - schema: type: string format: uuid in: path name: accountProductId required: true security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: array items: type: object required: - accountProductId - alertCount - createdAt - expectedEmailHash - expectedProviderAcceptedUserId - expectedProviderInvitationId - expectedProviderInviterUserId - expectedProviderMembershipId - expectedProviderOrganizationId - expectedRole - firstSeenAt - id - invitationId - lastAlertedAt - lastSeenAt - nextAlertAt - observation - occurrenceCount - product - reasonCode - resolutionCode - resolutionReason - resolvedAt - resolvedByOperatorId - state - updatedAt - version properties: accountProductId: type: string format: uuid alertCount: type: integer minimum: 0 createdAt: type: string format: date-time expectedEmailHash: type: string pattern: ^[0-9a-f]{64}$ expectedProviderAcceptedUserId: type: string maxLength: 200 minLength: 1 expectedProviderInvitationId: type: string maxLength: 200 minLength: 1 expectedProviderInviterUserId: type: string maxLength: 200 minLength: 1 expectedProviderMembershipId: type: string maxLength: 200 minLength: 1 expectedProviderOrganizationId: type: string maxLength: 200 minLength: 1 expectedRole: anyOf: - type: string enum: - admin - type: string enum: - billing - type: string enum: - developer - type: string enum: - owner firstSeenAt: type: string format: date-time id: type: string format: uuid invitationId: type: string format: uuid lastAlertedAt: anyOf: - type: string format: date-time - type: 'null' lastSeenAt: type: string format: date-time nextAlertAt: type: string format: date-time observation: type: object required: - emailHash - invitationAcceptedAt - invitationRole - invitationState - membershipCount - membershipRole - membershipStatus - providerAcceptedUserId - providerInvitationId - providerInvitationOrganizationId - providerInviterUserId - providerMembershipId - providerMembershipOrganizationId - providerMembershipUserId properties: emailHash: anyOf: - type: string - type: 'null' invitationAcceptedAt: anyOf: - type: string format: date-time - type: 'null' invitationRole: anyOf: - type: string - type: 'null' invitationState: anyOf: - type: string enum: - accepted - type: string enum: - expired - type: string enum: - missing - type: string enum: - pending - type: string enum: - revoked - type: 'null' membershipCount: anyOf: - type: number enum: - 0 - type: number enum: - 1 - type: number enum: - 2 - type: 'null' membershipRole: anyOf: - type: string - type: 'null' membershipStatus: anyOf: - type: string enum: - active - type: string enum: - inactive - type: string enum: - missing - type: string enum: - pending - type: 'null' providerAcceptedUserId: anyOf: - type: string - type: 'null' providerInvitationId: anyOf: - type: string - type: 'null' providerInvitationOrganizationId: anyOf: - type: string - type: 'null' providerInviterUserId: anyOf: - type: string - type: 'null' providerMembershipId: anyOf: - type: string - type: 'null' providerMembershipOrganizationId: anyOf: - type: string - type: 'null' providerMembershipUserId: anyOf: - type: string - type: 'null' additionalProperties: false occurrenceCount: type: integer minimum: 1 product: anyOf: - type: string enum: - employment - type: string enum: - vehicles reasonCode: anyOf: - type: string enum: - accepted_invitation_provenance_drift - type: string enum: - accepted_invitation_state_drift - type: string enum: - accepted_invitation_role_drift - type: string enum: - accepted_invitation_subject_drift - type: string enum: - accepted_membership_missing - type: string enum: - accepted_membership_cardinality_drift - type: string enum: - accepted_membership_identity_drift - type: string enum: - accepted_membership_role_drift resolutionCode: anyOf: - anyOf: - type: string enum: - provider_state_restored - type: string enum: - provider_access_deactivated - type: string enum: - local_access_removed - type: string enum: - local_authority_confirmed - type: string enum: - superseded - type: 'null' resolutionReason: anyOf: - type: string - type: 'null' resolvedAt: anyOf: - type: string format: date-time - type: 'null' resolvedByOperatorId: anyOf: - type: string format: uuid - type: 'null' state: anyOf: - type: string enum: - open - type: string enum: - resolved updatedAt: type: string format: date-time version: type: integer minimum: 1 additionalProperties: false '400': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '409': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/accounts/{accountProductId}/invitation-security-reviews/{reviewId}/resolve: post: operationId: resolveInvitationSecurityReview tags: - Operator requestBody: required: true content: application/json: schema: type: object required: - expectedVersion - reason - resolutionCode properties: expectedVersion: type: integer minimum: 1 reason: type: string maxLength: 1000 minLength: 1 resolutionCode: anyOf: - type: string enum: - provider_state_restored - type: string enum: - provider_access_deactivated - type: string enum: - local_access_removed - type: string enum: - local_authority_confirmed - type: string enum: - superseded additionalProperties: false parameters: - schema: type: string format: uuid in: path name: accountProductId required: true - schema: type: string format: uuid in: path name: reviewId required: true security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: object required: - accountProductId - alertCount - createdAt - expectedEmailHash - expectedProviderAcceptedUserId - expectedProviderInvitationId - expectedProviderInviterUserId - expectedProviderMembershipId - expectedProviderOrganizationId - expectedRole - firstSeenAt - id - invitationId - lastAlertedAt - lastSeenAt - nextAlertAt - observation - occurrenceCount - product - reasonCode - resolutionCode - resolutionReason - resolvedAt - resolvedByOperatorId - state - updatedAt - version properties: accountProductId: type: string format: uuid alertCount: type: integer minimum: 0 createdAt: type: string format: date-time expectedEmailHash: type: string pattern: ^[0-9a-f]{64}$ expectedProviderAcceptedUserId: type: string maxLength: 200 minLength: 1 expectedProviderInvitationId: type: string maxLength: 200 minLength: 1 expectedProviderInviterUserId: type: string maxLength: 200 minLength: 1 expectedProviderMembershipId: type: string maxLength: 200 minLength: 1 expectedProviderOrganizationId: type: string maxLength: 200 minLength: 1 expectedRole: anyOf: - type: string enum: - admin - type: string enum: - billing - type: string enum: - developer - type: string enum: - owner firstSeenAt: type: string format: date-time id: type: string format: uuid invitationId: type: string format: uuid lastAlertedAt: anyOf: - type: string format: date-time - type: 'null' lastSeenAt: type: string format: date-time nextAlertAt: type: string format: date-time observation: type: object required: - emailHash - invitationAcceptedAt - invitationRole - invitationState - membershipCount - membershipRole - membershipStatus - providerAcceptedUserId - providerInvitationId - providerInvitationOrganizationId - providerInviterUserId - providerMembershipId - providerMembershipOrganizationId - providerMembershipUserId properties: emailHash: anyOf: - type: string - type: 'null' invitationAcceptedAt: anyOf: - type: string format: date-time - type: 'null' invitationRole: anyOf: - type: string - type: 'null' invitationState: anyOf: - type: string enum: - accepted - type: string enum: - expired - type: string enum: - missing - type: string enum: - pending - type: string enum: - revoked - type: 'null' membershipCount: anyOf: - type: number enum: - 0 - type: number enum: - 1 - type: number enum: - 2 - type: 'null' membershipRole: anyOf: - type: string - type: 'null' membershipStatus: anyOf: - type: string enum: - active - type: string enum: - inactive - type: string enum: - missing - type: string enum: - pending - type: 'null' providerAcceptedUserId: anyOf: - type: string - type: 'null' providerInvitationId: anyOf: - type: string - type: 'null' providerInvitationOrganizationId: anyOf: - type: string - type: 'null' providerInviterUserId: anyOf: - type: string - type: 'null' providerMembershipId: anyOf: - type: string - type: 'null' providerMembershipOrganizationId: anyOf: - type: string - type: 'null' providerMembershipUserId: anyOf: - type: string - type: 'null' additionalProperties: false occurrenceCount: type: integer minimum: 1 product: anyOf: - type: string enum: - employment - type: string enum: - vehicles reasonCode: anyOf: - type: string enum: - accepted_invitation_provenance_drift - type: string enum: - accepted_invitation_state_drift - type: string enum: - accepted_invitation_role_drift - type: string enum: - accepted_invitation_subject_drift - type: string enum: - accepted_membership_missing - type: string enum: - accepted_membership_cardinality_drift - type: string enum: - accepted_membership_identity_drift - type: string enum: - accepted_membership_role_drift resolutionCode: anyOf: - anyOf: - type: string enum: - provider_state_restored - type: string enum: - provider_access_deactivated - type: string enum: - local_access_removed - type: string enum: - local_authority_confirmed - type: string enum: - superseded - type: 'null' resolutionReason: anyOf: - type: string - type: 'null' resolvedAt: anyOf: - type: string format: date-time - type: 'null' resolvedByOperatorId: anyOf: - type: string format: uuid - type: 'null' state: anyOf: - type: string enum: - open - type: string enum: - resolved updatedAt: type: string format: date-time version: type: integer minimum: 1 additionalProperties: false '400': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '409': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' /v1/ops/billing/credits: post: operationId: grantOperatorBillingCredit tags: - Operator requestBody: required: true content: application/json: schema: type: object required: - accountProductId - amountMicros - idempotencyKey properties: accountProductId: type: string format: uuid amountMicros: type: integer minimum: 1 description: type: string maxLength: 300 minLength: 1 idempotencyKey: type: string maxLength: 200 minLength: 8 kind: anyOf: - type: string enum: - promotion - type: string enum: - adjustment - type: string enum: - purchase referenceId: type: string maxLength: 200 minLength: 1 additionalProperties: false security: - workosBearer: [] responses: '200': description: Default Response content: application/json: schema: type: object required: - amountMicros - applied - creditBalanceMicros properties: amountMicros: type: integer minimum: 0 applied: type: boolean creditBalanceMicros: type: integer minimum: 0 additionalProperties: false '400': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '401': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '403': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '404': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '409': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '500': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' '503': description: RFC 9457 problem details. content: application/problem+json: schema: $ref: '#/components/schemas/def-0' components: schemas: def-0: type: object required: - code - detail - request_id - retryable - status - title - type properties: code: type: string detail: type: string instance: type: string invalid_params: type: array items: type: object required: - name - pointer - reason properties: name: type: string pointer: type: string reason: type: string additionalProperties: false request_id: type: string retryable: type: boolean status: type: integer maximum: 599 minimum: 400 title: type: string type: type: string format: uri additionalProperties: false title: Problem securitySchemes: apiKeyBearer: bearerFormat: Product API key scheme: bearer type: http workosBearer: bearerFormat: WorkOS access token scheme: bearer type: http