Documentation
GettingStarted
https://www.speakeasy.com/docs/sdks/introduction
Documentation
https://www.speakeasy.com/docs
openapi: 3.0.3
info:
description: The Subscriptions API manages subscriptions for CLI and registry events
title: Speakeasy Artifacts Auth API
version: 0.4.0
servers:
- url: https://api.prod.speakeasy.com
x-speakeasy-server-id: prod
security:
- APIKey: []
- WorkspaceIdentifier: []
- Bearer: []
tags:
- description: REST APIs for managing Authentication
name: Auth
paths:
/v1/auth/validate:
get:
summary: Validate the Current API Key
operationId: validateApiKey
tags:
- Auth
responses:
2XX:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKeyDetails'
4XX:
$ref: '#/components/responses/default'
/v1/user:
get:
summary: Get Information About the Current User
operationId: getUser
tags:
- Auth
responses:
2XX:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
4XX:
$ref: '#/components/responses/default'
/v1/auth/access_token:
get:
summary: Get or Refresh an Access Token for the Current Workspace
security:
- {}
operationId: getAccessToken
tags:
- Auth
parameters:
- description: The workspace ID
in: query
name: workspace_id
required: true
schema:
type: string
responses:
2XX:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AccessToken'
4XX:
$ref: '#/components/responses/default'
/v1/workspace/access:
get:
summary: Get Access Allowances for a Particular Workspace
description: Checks if generation is permitted for a particular run of the CLI
operationId: getWorkspaceAccess
x-speakeasy-name-override: getAccess
x-speakeasy-retries:
strategy: backoff
backoff:
initialInterval: 100
maxInterval: 2000
maxElapsedTime: 60000
exponent: 1.5
statusCodes:
- 408
- 500
- 502
- 503
retryConnectionErrors: true
tags:
- Auth
parameters:
- name: genLockId
in: query
description: Unique identifier of the generation target.
schema:
type: string
- name: targetType
in: query
description: The type of the generated target.
schema:
type: string
- name: passive
in: query
description: Skip side-effects like incrementing metrics.
schema:
type: boolean
responses:
2XX:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDetails'
components:
schemas:
AccountType:
type: string
x-speakeasy-unknown-values: allow
enum:
- free
- scale-up
- business
- enterprise
AccessToken:
description: An AccessToken is a token that can be used to authenticate with the Speakeasy API.
properties:
access_token:
type: string
claims:
type: object
user:
type: object
properties:
email:
type: string
id:
type: string
display_name:
type: string
admin:
type: boolean
created_at:
type: string
format: date-time
email_verified:
type: boolean
workspaces:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
updated_at:
type: string
format: date-time
account_type:
$ref: '#/components/schemas/AccountType'
feature_flags:
type: array
items:
$ref: '#/components/schemas/FeatureFlag'
required:
- access_token
- claims
- user
type: object
AccessDetails:
type: object
properties:
generation_allowed:
type: boolean
message:
type: string
level:
type: string
enum:
- allowed
- warning
- blocked
required:
- generation_allowed
- message
WorkspaceFeatureFlag:
description: enum value workspace feature flag
type: string
x-speakeasy-unknown-values: allow
enum:
- schema_registry
- changes_report
- skip_schema_registry
- webhooks
BillingAddOn:
type: string
x-speakeasy-unknown-values: allow
enum:
- webhooks
- sdk_testing
- custom_code_regions
- snippet_ai
FeatureFlag:
description: A feature flag is a key-value pair that can be used to enable or disable features.
properties:
feature_flag:
$ref: '#/components/schemas/WorkspaceFeatureFlag'
trial_ends_at:
type: string
format: date-time
nullable: true
required:
- feature_flag
User:
type: object
properties:
id:
type: string
description: Unique identifier for the user.
email:
type: string
description: Email address of the user.
email_verified:
type: boolean
description: Indicates whether the email address has been verified.
github_handle:
type: string
description: GitHub handle of the user.
nullable: true
display_name:
type: string
description: Display name of the user.
photo_url:
type: string
nullable: true
description: URL of the user's photo.
default_workspace_id:
type: string
description: Identifier of the default workspace.
nullable: true
confirmed:
type: boolean
description: Indicates whether the user has been confirmed.
whitelisted:
type: boolean
description: Indicates whether the user has been whitelisted.
last_login_at:
type: string
nullable: true
format: date-time
description: Timestamp of the last login.
admin:
type: boolean
description: Indicates whether the user is an admin.
created_at:
type: string
format: date-time
description: Timestamp of the user's creation.
updated_at:
type: string
format: date-time
description: Timestamp of the user's last update.
internal:
type: boolean
description: Indicates whether the user is internal.
pylon_identity_hash:
type: string
description: Hash used for pylon identity verification returned on v1/user.
has_created_api_key:
type: boolean
description: Indicates whether the user has created an API key. Not always populated
required:
- id
- email
- email_verified
- display_name
- confirmed
- whitelisted
- admin
- created_at
- updated_at
Error:
description: The `Status` type defines a logical error model
properties:
message:
description: A developer-facing error message.
type: string
status_code:
description: The HTTP status code
format: int32
type: integer
required:
- message
- status_code
type: object
ApiKeyDetails:
type: object
properties:
workspace_id:
type: string
workspace_slug:
type: string
org_slug:
type: string
generation_access_unlimited:
type: boolean
account_type_v2:
$ref: '#/components/schemas/AccountType'
enabled_features:
type: array
items:
type: string
billing_add_ons:
type: array
items:
$ref: '#/components/schemas/BillingAddOn'
feature_flags:
deprecated: true
type: array
items:
type: string
telemetry_disabled:
type: boolean
workspace_created_at:
description: Workspace creation timestamp.
format: date-time
type: string
required:
- workspace_id
- account_type_v2
- enabled_features
- workspace_slug
- org_slug
- workspace_created_at
- telemetry_disabled
- billing_add_ons
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Default error response
securitySchemes:
APIKey:
description: The API Key for the workspace
in: header
name: x-api-key
type: apiKey
WorkspaceIdentifier:
description: The API Key for the workspace
in: header
name: x-workspace-identifier
type: apiKey
Bearer:
description: The Bearer token for the workspace
type: http
scheme: bearer
externalDocs:
url: /docs
description: The Speakeasy Platform Documentation
x-speakeasy-globals:
parameters:
- name: workspace_id
in: path
schema:
type: string