components:
  schemas:
    AppClient:
      properties:
        callbackUrls:
          items:
            type: string
          type: array
        clientId:
          type: string
        name:
          type: string
        poolId:
          type: string
      required:
      - callbackUrls
      - clientId
      - name
      - poolId
      type: object
    CloudErrorBody:
      $schema: http://json-schema.org/draft-07/schema#
      properties:
        code:
          type: string
        details: true
        message:
          type: string
        requestId:
          type:
          - string
          - 'null'
      required:
      - code
      - message
      title: CloudErrorBody
      type: object
    CloudRole:
      enum:
      - owner
      - admin
      - developer
      - billing
      - read_only
      type: string
    DirectoryMember:
      properties:
        cloudRole:
          type:
          - string
          - 'null'
        email:
          type: string
        memberId:
          type: string
        tenantId:
          type: string
      required:
      - email
      - memberId
      - tenantId
      type: object
    Jwk:
      properties:
        alg:
          type: string
        e:
          type: string
        kid:
          type: string
        kty:
          type: string
        n:
          type: string
        use:
          type: string
      required:
      - alg
      - e
      - kid
      - kty
      - n
      - use
      type: object
    OperatorAccessKey:
      properties:
        accessKeyId:
          type: string
        createdAt:
          type: string
        keyId:
          type: string
        memberId:
          type: string
        role:
          type: string
        status:
          type: string
      required:
      - accessKeyId
      - createdAt
      - keyId
      - memberId
      - role
      - status
      type: object
    PolicyResponse:
      properties:
        attachedTo:
          items:
            type: string
          type:
          - array
          - 'null'
        createdAt:
          type: string
        description:
          type:
          - string
          - 'null'
        policy:
          type: string
        policyEpoch:
          format: int64
          type: integer
        policyId:
          type: string
        status:
          type: string
        updatedAt:
          type: string
      required:
      - createdAt
      - policy
      - policyEpoch
      - policyId
      - status
      - updatedAt
      type: object
    RunSummary:
      properties:
        command:
          type: string
        elapsedMs:
          format: int64
          type:
          - integer
          - 'null'
        finishedAt:
          type:
          - string
          - 'null'
        pipeline:
          type:
          - string
          - 'null'
        runId:
          type: string
        startedAt:
          type: string
        status:
          type: string
      required:
      - command
      - runId
      - startedAt
      - status
      type: object
    SessionUser:
      properties:
        email:
          type: string
        profileId:
          type: string
      required:
      - email
      - profileId
      type: object
    UserPool:
      properties:
        createdAt:
          type: string
        name:
          type: string
        poolId:
          type: string
        tenantId:
          type: string
      required:
      - createdAt
      - name
      - poolId
      - tenantId
      type: object
    ValidatePolicyError:
      properties:
        code:
          type: string
        message:
          type: string
      required:
      - code
      - message
      type: object
    WorkloadKey:
      properties:
        abacScope:
          type: string
        accessKeyId:
          type: string
        createdAt:
          type: string
        expiresAt:
          type:
          - string
          - 'null'
        principalId:
          type: string
        rotatedAt:
          type:
          - string
          - 'null'
        status:
          type: string
      required:
      - abacScope
      - accessKeyId
      - createdAt
      - principalId
      - status
      type: object
    WorkspaceIndexEntry:
      properties:
        updatedAt:
          type: string
        updatedBy:
          type: string
        workspace:
          type: string
      required:
      - updatedAt
      - updatedBy
      - workspace
      type: object
externalDocs:
  description: Cloud JSON Schema catalog
  url: https://skippr.io/cloud/schemas/index.json
info:
  description: 'REST OpenAPI for Skippr Cloud auth at https://auth.cloud.skippr.io. Cloud JSON RPC services use X-Cloud-Target and JSON Schema; see https://skippr.io/cloud/schemas/index.json. YAML: https://skippr.io/api/openapi.yaml'
  title: Skippr Cloud auth API
  version: preview
openapi: 3.1.0
paths:
  /.well-known/jwks.json:
    get:
      operationId: GetJwks
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  keys:
                    items:
                      $ref: '#/components/schemas/Jwk'
                    type: array
                required:
                - keys
                title: JwksResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/authorize:
    post:
      operationId: Authorize
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                action:
                  type: string
                directoryKind:
                  default: null
                  type:
                  - string
                  - 'null'
                principalId:
                  type: string
                principalKind:
                  type: string
                resourceArn:
                  type: string
                role:
                  default: null
                  type:
                  - string
                  - 'null'
                tenantId:
                  type: string
              required:
              - action
              - principalId
              - principalKind
              - resourceArn
              - tenantId
              title: AuthorizeRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  decision:
                    type: string
                required:
                - decision
                title: AuthorizeResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/confirm:
    post:
      operationId: Confirm
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                code:
                  type: string
                email:
                  default: null
                  type:
                  - string
                  - 'null'
                tenant:
                  default: null
                  type:
                  - string
                  - 'null'
                vendor:
                  default: null
                  type:
                  - string
                  - 'null'
              required:
              - code
              title: ConfirmRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  refreshToken:
                    type: string
                    writeOnly: true
                    x-sensitive: true
                  token:
                    type: string
                    writeOnly: true
                    x-sensitive: true
                required:
                - refreshToken
                - token
                title: TokenResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/credentials:
    post:
      operationId: GetCredentials
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  accessKeyId:
                    type: string
                  expiration:
                    type: string
                  secretAccessKey:
                    type: string
                    writeOnly: true
                    x-one-time-secret: true
                    x-sensitive: true
                  sessionToken:
                    type:
                    - string
                    - 'null'
                    writeOnly: true
                    x-sensitive: true
                required:
                - accessKeyId
                - expiration
                - secretAccessKey
                title: CredentialsResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/delete:
    delete:
      operationId: DeleteAccount
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  success:
                    type: boolean
                required:
                - success
                title: SuccessResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/directory/access-keys:
    get:
      operationId: ListOperatorAccessKeys
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  keys:
                    items:
                      $ref: '#/components/schemas/OperatorAccessKey'
                    type: array
                required:
                - keys
                title: ListOperatorAccessKeysResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    post:
      operationId: CreateOperatorAccessKey
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                memberId:
                  type: string
              required:
              - memberId
              title: CreateOperatorAccessKeyRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  accessKeyId:
                    type: string
                  keyId:
                    type: string
                  memberId:
                    type: string
                  role:
                    type: string
                  secretAccessKey:
                    type: string
                    writeOnly: true
                    x-one-time-secret: true
                    x-sensitive: true
                required:
                - accessKeyId
                - keyId
                - memberId
                - role
                - secretAccessKey
                title: CreateOperatorAccessKeyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/directory/access-keys/{keyId}:
    delete:
      operationId: RevokeOperatorAccessKey
      parameters:
      - in: path
        name: keyId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  accessKeyId:
                    type: string
                  keyId:
                    type: string
                  status:
                    type: string
                required:
                - accessKeyId
                - keyId
                - status
                title: RevokeOperatorAccessKeyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/directory/members:
    get:
      operationId: ListDirectoryMembers
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  members:
                    items:
                      $ref: '#/components/schemas/DirectoryMember'
                    type: array
                required:
                - members
                title: ListDirectoryMembersResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/directory/members/{memberId}/role:
    put:
      operationId: AssignDirectoryRole
      parameters:
      - in: path
        name: memberId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                role:
                  type: string
              required:
              - role
              title: AssignDirectoryRoleRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  cloudRole:
                    type:
                    - string
                    - 'null'
                  email:
                    type: string
                  memberId:
                    type: string
                  tenantId:
                    type: string
                required:
                - email
                - memberId
                - tenantId
                title: DirectoryMember
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/directory/oidc/login-url:
    get:
      operationId: GetOidcLoginUrl
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  loginUrl:
                    type: string
                required:
                - loginUrl
                title: OidcLoginUrlResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/directory/roles:
    get:
      operationId: ListDirectoryRoles
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  roles:
                    items:
                      $ref: '#/components/schemas/CloudRole'
                    type: array
                required:
                - roles
                title: CloudRolesResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/logout:
    post:
      operationId: Logout
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  success:
                    type: boolean
                required:
                - success
                title: SuccessResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/policies:
    get:
      operationId: ListPolicies
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  policies:
                    items:
                      $ref: '#/components/schemas/PolicyResponse'
                    type: array
                  policyEpoch:
                    format: int64
                    type: integer
                required:
                - policies
                - policyEpoch
                title: ListPoliciesResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    post:
      operationId: CreatePolicy
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                attachedTo:
                  default: null
                  items:
                    type: string
                  type:
                  - array
                  - 'null'
                description:
                  default: null
                  type:
                  - string
                  - 'null'
                policy:
                  type: string
                policyId:
                  type: string
              required:
              - policy
              - policyId
              title: CreatePolicyRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  attachedTo:
                    items:
                      type: string
                    type:
                    - array
                    - 'null'
                  createdAt:
                    type: string
                  description:
                    type:
                    - string
                    - 'null'
                  policy:
                    type: string
                  policyEpoch:
                    format: int64
                    type: integer
                  policyId:
                    type: string
                  status:
                    type: string
                  updatedAt:
                    type: string
                required:
                - createdAt
                - policy
                - policyEpoch
                - policyId
                - status
                - updatedAt
                title: PolicyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/policies/epoch:
    get:
      operationId: GetPolicyEpoch
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  policyEpoch:
                    format: int64
                    type: integer
                required:
                - policyEpoch
                title: PolicyEpochResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/policies/validate:
    post:
      operationId: ValidatePolicy
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                policy:
                  type: string
              required:
              - policy
              title: ValidatePolicyRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  errors:
                    items:
                      $ref: '#/components/schemas/ValidatePolicyError'
                    type:
                    - array
                    - 'null'
                  valid:
                    type: boolean
                required:
                - valid
                title: ValidatePolicyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/policies/{policyId}:
    delete:
      operationId: DeletePolicy
      parameters:
      - in: path
        name: policyId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  policyEpoch:
                    format: int64
                    type: integer
                  policyId:
                    type: string
                  status:
                    type: string
                required:
                - policyEpoch
                - policyId
                - status
                title: DeletePolicyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    get:
      operationId: GetPolicy
      parameters:
      - in: path
        name: policyId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  attachedTo:
                    items:
                      type: string
                    type:
                    - array
                    - 'null'
                  createdAt:
                    type: string
                  description:
                    type:
                    - string
                    - 'null'
                  policy:
                    type: string
                  policyEpoch:
                    format: int64
                    type: integer
                  policyId:
                    type: string
                  status:
                    type: string
                  updatedAt:
                    type: string
                required:
                - createdAt
                - policy
                - policyEpoch
                - policyId
                - status
                - updatedAt
                title: PolicyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    put:
      operationId: UpdatePolicy
      parameters:
      - in: path
        name: policyId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                attachedTo:
                  default: null
                  items:
                    type: string
                  type:
                  - array
                  - 'null'
                description:
                  default: null
                  type:
                  - string
                  - 'null'
                policy:
                  type: string
              required:
              - policy
              title: UpdatePolicyRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  attachedTo:
                    items:
                      type: string
                    type:
                    - array
                    - 'null'
                  createdAt:
                    type: string
                  description:
                    type:
                    - string
                    - 'null'
                  policy:
                    type: string
                  policyEpoch:
                    format: int64
                    type: integer
                  policyId:
                    type: string
                  status:
                    type: string
                  updatedAt:
                    type: string
                required:
                - createdAt
                - policy
                - policyEpoch
                - policyId
                - status
                - updatedAt
                title: PolicyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/refresh:
    post:
      operationId: RefreshToken
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                refreshToken:
                  type: string
                  writeOnly: true
                  x-sensitive: true
              required:
              - refreshToken
              title: RefreshTokenRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  refreshToken:
                    type: string
                    writeOnly: true
                    x-sensitive: true
                  token:
                    type: string
                    writeOnly: true
                    x-sensitive: true
                required:
                - refreshToken
                - token
                title: TokenResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/session:
    get:
      operationId: GetSession
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  profileId:
                    type: string
                  tenantId:
                    type: string
                  user:
                    $ref: '#/components/schemas/SessionUser'
                  valid:
                    type: boolean
                required:
                - profileId
                - tenantId
                - user
                - valid
                title: SessionResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/sign-in:
    post:
      operationId: SignIn
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                email:
                  default: null
                  type:
                  - string
                  - 'null'
                tenant:
                  default: null
                  type:
                  - string
                  - 'null'
                vendor:
                  default: null
                  type:
                  - string
                  - 'null'
              title: SignInRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  sessionId:
                    type:
                    - string
                    - 'null'
                  success:
                    type: boolean
                required:
                - success
                title: SignInResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/user-pools:
    get:
      operationId: ListUserPools
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  pools:
                    items:
                      $ref: '#/components/schemas/UserPool'
                    type: array
                required:
                - pools
                title: ListUserPoolsResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    post:
      operationId: CreateUserPool
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                name:
                  type: string
              required:
              - name
              title: CreateUserPoolRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  createdAt:
                    type: string
                  name:
                    type: string
                  poolId:
                    type: string
                  tenantId:
                    type: string
                required:
                - createdAt
                - name
                - poolId
                - tenantId
                title: UserPool
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/user-pools/{poolId}:
    delete:
      operationId: DeleteUserPool
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  ok:
                    type: boolean
                required:
                - ok
                title: DeleteOkResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    get:
      operationId: DescribeUserPool
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  createdAt:
                    type: string
                  name:
                    type: string
                  poolId:
                    type: string
                  tenantId:
                    type: string
                required:
                - createdAt
                - name
                - poolId
                - tenantId
                title: UserPool
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/user-pools/{poolId}/clients:
    get:
      operationId: ListAppClients
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  clients:
                    items:
                      $ref: '#/components/schemas/AppClient'
                    type: array
                required:
                - clients
                title: ListAppClientsResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    post:
      operationId: CreateAppClient
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                callbackUrls:
                  items:
                    type: string
                  type: array
                name:
                  type: string
              required:
              - callbackUrls
              - name
              title: CreateAppClientRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  callbackUrls:
                    items:
                      type: string
                    type: array
                  clientId:
                    type: string
                  name:
                    type: string
                  poolId:
                    type: string
                required:
                - callbackUrls
                - clientId
                - name
                - poolId
                title: AppClient
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/user-pools/{poolId}/clients/{clientId}:
    delete:
      operationId: DeleteAppClient
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      - in: path
        name: clientId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  ok:
                    type: boolean
                required:
                - ok
                title: DeleteOkResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    get:
      operationId: DescribeAppClient
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      - in: path
        name: clientId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  callbackUrls:
                    items:
                      type: string
                    type: array
                  clientId:
                    type: string
                  name:
                    type: string
                  poolId:
                    type: string
                required:
                - callbackUrls
                - clientId
                - name
                - poolId
                title: AppClient
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/user-pools/{poolId}/confirm:
    post:
      operationId: PoolConfirm
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                appClientId:
                  default: null
                  type:
                  - string
                  - 'null'
                code:
                  type: string
                email:
                  type: string
                vendor:
                  default: null
                  type:
                  - string
                  - 'null'
              required:
              - code
              - email
              title: PoolConfirmRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  refreshToken:
                    type: string
                    writeOnly: true
                    x-sensitive: true
                  token:
                    type: string
                    writeOnly: true
                    x-sensitive: true
                required:
                - refreshToken
                - token
                title: TokenResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/user-pools/{poolId}/logout:
    post:
      operationId: PoolLogout
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  success:
                    type: boolean
                required:
                - success
                title: SuccessResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/user-pools/{poolId}/refresh:
    post:
      operationId: PoolRefresh
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                appClientId:
                  default: null
                  type:
                  - string
                  - 'null'
                refreshToken:
                  type: string
                  writeOnly: true
                  x-sensitive: true
              required:
              - refreshToken
              title: PoolRefreshRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  refreshToken:
                    type: string
                    writeOnly: true
                    x-sensitive: true
                  token:
                    type: string
                    writeOnly: true
                    x-sensitive: true
                required:
                - refreshToken
                - token
                title: TokenResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/user-pools/{poolId}/sign-in:
    post:
      operationId: PoolSignIn
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                email:
                  type: string
              required:
              - email
              title: PoolSignInRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  sessionId:
                    type:
                    - string
                    - 'null'
                  success:
                    type: boolean
                required:
                - success
                title: SignInResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workload-keys:
    get:
      operationId: ListWorkloadKeys
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  keys:
                    items:
                      $ref: '#/components/schemas/WorkloadKey'
                    type: array
                required:
                - keys
                title: ListWorkloadKeysResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    post:
      operationId: CreateWorkloadKey
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                abacScope:
                  default: function-execution
                  type: string
                principalId:
                  type: string
              required:
              - principalId
              title: CreateWorkloadKeyRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  accessKeyId:
                    type: string
                  principalId:
                    type: string
                  secretAccessKey:
                    type: string
                    writeOnly: true
                    x-one-time-secret: true
                    x-sensitive: true
                required:
                - accessKeyId
                - principalId
                - secretAccessKey
                title: CreateWorkloadKeyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workload-keys/{principalId}:
    delete:
      operationId: RevokeWorkloadKey
      parameters:
      - in: path
        name: principalId
        required: true
        schema:
          type: string
      - in: query
        name: accessKeyId
        required: false
        schema:
          default: null
          type:
          - string
          - 'null'
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  accessKeyId:
                    type: string
                  principalId:
                    type: string
                  status:
                    type: string
                required:
                - accessKeyId
                - principalId
                - status
                title: RevokeWorkloadKeyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    get:
      operationId: GetWorkloadKey
      parameters:
      - in: path
        name: principalId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  keys:
                    items:
                      $ref: '#/components/schemas/WorkloadKey'
                    type: array
                  principalId:
                    type: string
                required:
                - keys
                - principalId
                title: GetWorkloadKeyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workload-keys/{principalId}/rotate:
    post:
      operationId: RotateWorkloadKey
      parameters:
      - in: path
        name: principalId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  accessKeyId:
                    type: string
                  previousAccessKeyId:
                    type: string
                  principalId:
                    type: string
                  secretAccessKey:
                    type: string
                    writeOnly: true
                    x-one-time-secret: true
                    x-sensitive: true
                required:
                - accessKeyId
                - previousAccessKeyId
                - principalId
                - secretAccessKey
                title: RotateWorkloadKeyResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workspaces:
    get:
      operationId: ListWorkspaces
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  workspaces:
                    items:
                      $ref: '#/components/schemas/WorkspaceIndexEntry'
                    type: array
                required:
                - workspaces
                title: ListWorkspacesResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    post:
      operationId: CreateWorkspace
      parameters:
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                configYaml:
                  type: string
                workspace:
                  type: string
              required:
              - configYaml
              - workspace
              title: CreateWorkspaceRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  success:
                    type: boolean
                required:
                - success
                title: SuccessResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workspaces/{workspace}:
    put:
      operationId: PutWorkspace
      parameters:
      - in: path
        name: workspace
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                configYaml:
                  type: string
              required:
              - configYaml
              title: PutWorkspaceRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  success:
                    type: boolean
                required:
                - success
                title: SuccessResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workspaces/{workspace}/config:
    get:
      operationId: GetWorkspaceConfig
      parameters:
      - in: path
        name: workspace
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            text/plain:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                title: String
                type: string
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workspaces/{workspace}/runs:
    get:
      operationId: ListRuns
      parameters:
      - in: path
        name: workspace
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  runs:
                    items:
                      $ref: '#/components/schemas/RunSummary'
                    type: array
                required:
                - runs
                title: ListRunsResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workspaces/{workspace}/runs/lock:
    get:
      operationId: GetRunLock
      parameters:
      - in: path
        name: workspace
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  locked:
                    type: boolean
                required:
                - locked
                title: RunLockResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workspaces/{workspace}/runs/lock/acquire:
    post:
      operationId: AcquireRunLock
      parameters:
      - in: path
        name: workspace
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                command:
                  type: string
                pipeline:
                  default: null
                  type:
                  - string
                  - 'null'
                runId:
                  default: null
                  type:
                  - string
                  - 'null'
              required:
              - command
              title: AcquireRunLockRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  leaseExpiresAt:
                    type: string
                  runId:
                    type: string
                  version:
                    format: int64
                    type: integer
                required:
                - leaseExpiresAt
                - runId
                - version
                title: AcquireRunLockResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workspaces/{workspace}/runs/lock/complete:
    post:
      operationId: RunLockComplete
      parameters:
      - in: path
        name: workspace
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                runId:
                  type: string
                status:
                  type: string
                version:
                  format: int64
                  type: integer
              required:
              - runId
              - status
              - version
              title: RunLockCompleteRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  success:
                    type: boolean
                required:
                - success
                title: SuccessResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workspaces/{workspace}/runs/lock/heartbeat:
    post:
      operationId: RunLockHeartbeat
      parameters:
      - in: path
        name: workspace
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                runId:
                  type: string
                version:
                  format: int64
                  type: integer
              required:
              - runId
              - version
              title: RunLockHeartbeatRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  leaseExpiresAt:
                    type: string
                  runId:
                    type: string
                  version:
                    format: int64
                    type: integer
                required:
                - leaseExpiresAt
                - runId
                - version
                title: AcquireRunLockResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /auth/workspaces/{workspace}/runs/{runId}:
    get:
      operationId: GetRun
      parameters:
      - in: path
        name: workspace
        required: true
        schema:
          type: string
      - in: path
        name: runId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  cancelRequested:
                    default: false
                    type: boolean
                  command:
                    type: string
                  pipeline:
                    type:
                    - string
                    - 'null'
                  runId:
                    type: string
                  status:
                    type: string
                  version:
                    format: int64
                    type: integer
                required:
                - command
                - runId
                - status
                - version
                title: RunRecordResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
    put:
      operationId: PutRun
      parameters:
      - in: path
        name: workspace
        required: true
        schema:
          type: string
      - in: path
        name: runId
        required: true
        schema:
          type: string
      - in: header
        name: authorization
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              additionalProperties: false
              properties:
                command:
                  type: string
                pipeline:
                  default: null
                  type:
                  - string
                  - 'null'
                status:
                  type: string
              required:
              - command
              - status
              title: PutRunRequest
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  success:
                    type: boolean
                required:
                - success
                title: SuccessResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
  /health:
    get:
      operationId: Health
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                properties:
                  status:
                    type: string
                  storage:
                    type: string
                required:
                - status
                - storage
                title: HealthResponse
                type: object
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudErrorBody'
          description: Error
      x-cloud-plane: control
servers:
- url: https://auth.cloud.skippr.io
