openapi: 3.0.3
info:
    title: Gram API Description
    description: Gram is the tools platform for AI agents
    version: 0.0.1
servers:
    - url: http://localhost:80
      description: Default server for gram
paths:
    /rpc/{project_slug}/slack.login:
        get:
            description: Proxies to auth login through speakeasy oidc.
            operationId: slackLogin
            parameters:
                - in: path
                  name: project_slug
                  required: true
                  schema:
                    type: string
                - allowEmptyValue: true
                  description: The dashboard location to return too
                  in: query
                  name: return_url
                  schema:
                    description: The dashboard location to return too
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "307":
                    description: Temporary Redirect response.
                    headers:
                        Location:
                            description: The URL to redirect to after authentication
                            schema:
                                description: The URL to redirect to after authentication
                                type: string
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_query_project_slug: []
                  session_header_Gram-Session: []
            summary: login slack
            tags:
                - slack
            x-speakeasy-name-override: slackLogin
            x-speakeasy-react-hook:
                disabled: true
    /rpc/assets.list:
        get:
            description: List all assets for a project.
            operationId: listAssets
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListAssetsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: listAssets assets
            tags:
                - assets
            x-speakeasy-name-override: listAssets
            x-speakeasy-react-hook:
                name: ListAssets
    /rpc/assets.serveImage:
        get:
            description: Serve an image from Gram.
            operationId: serveImage
            parameters:
                - allowEmptyValue: true
                  description: The ID of the asset to serve
                  in: query
                  name: id
                  required: true
                  schema:
                    description: The ID of the asset to serve
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                format: binary
                                type: string
                    description: OK response.
                    headers:
                        Content-Length:
                            schema:
                                format: int64
                                type: integer
                        Content-Type:
                            schema:
                                type: string
                        Last-Modified:
                            schema:
                                type: string
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                - session_header_Gram-Session: []
            summary: serveImage assets
            tags:
                - assets
            x-speakeasy-name-override: serveImage
            x-speakeasy-react-hook:
                name: serveImage
    /rpc/assets.serveOpenAPIv3:
        get:
            description: Serve an OpenAPIv3 asset from Gram.
            operationId: serveOpenAPIv3
            parameters:
                - allowEmptyValue: true
                  description: The ID of the asset to serve
                  in: query
                  name: id
                  required: true
                  schema:
                    description: The ID of the asset to serve
                    type: string
                - allowEmptyValue: true
                  description: The procect ID that the asset belongs to
                  in: query
                  name: project_id
                  required: true
                  schema:
                    description: The procect ID that the asset belongs to
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                format: binary
                                type: string
                    description: OK response.
                    headers:
                        Content-Length:
                            schema:
                                format: int64
                                type: integer
                        Content-Type:
                            schema:
                                type: string
                        Last-Modified:
                            schema:
                                type: string
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                - session_header_Gram-Session: []
            summary: serveOpenAPIv3 assets
            tags:
                - assets
            x-speakeasy-name-override: serveOpenAPIv3
            x-speakeasy-react-hook:
                name: serveOpenAPIv3
    /rpc/assets.uploadFunctions:
        post:
            description: Upload functions to Gram.
            operationId: uploadFunctions
            parameters:
                - allowEmptyValue: true
                  in: header
                  name: Content-Type
                  required: true
                  schema:
                    type: string
                - allowEmptyValue: true
                  in: header
                  name: Content-Length
                  required: true
                  schema:
                    format: int64
                    type: integer
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/UploadFunctionsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: uploadFunctions assets
            tags:
                - assets
            x-speakeasy-name-override: uploadFunctions
            x-speakeasy-react-hook:
                name: UploadFunctions
    /rpc/assets.uploadImage:
        post:
            description: Upload an image to Gram.
            operationId: uploadImage
            parameters:
                - allowEmptyValue: true
                  in: header
                  name: Content-Type
                  required: true
                  schema:
                    type: string
                - allowEmptyValue: true
                  in: header
                  name: Content-Length
                  required: true
                  schema:
                    format: int64
                    type: integer
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/UploadImageResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: uploadImage assets
            tags:
                - assets
            x-speakeasy-name-override: uploadImage
            x-speakeasy-react-hook:
                name: UploadImage
    /rpc/assets.uploadOpenAPIv3:
        post:
            description: Upload an OpenAPI v3 document to Gram.
            operationId: uploadOpenAPIv3Asset
            parameters:
                - allowEmptyValue: true
                  in: header
                  name: Content-Type
                  required: true
                  schema:
                    type: string
                - allowEmptyValue: true
                  in: header
                  name: Content-Length
                  required: true
                  schema:
                    format: int64
                    type: integer
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/UploadOpenAPIv3Result'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: uploadOpenAPIv3 assets
            tags:
                - assets
            x-speakeasy-name-override: uploadOpenAPIv3
            x-speakeasy-react-hook:
                name: UploadOpenAPIv3
    /rpc/auth.callback:
        get:
            description: Handles the authentication callback.
            operationId: authCallback
            parameters:
                - allowEmptyValue: true
                  description: The auth code for authentication from the speakeasy system
                  in: query
                  name: code
                  required: true
                  schema:
                    description: The auth code for authentication from the speakeasy system
                    type: string
            responses:
                "307":
                    description: Temporary Redirect response.
                    headers:
                        Gram-Session:
                            description: Session header
                            schema:
                                description: Session header
                                type: string
                        Location:
                            description: The URL to redirect to after authentication
                            schema:
                                description: The URL to redirect to after authentication
                                type: string
                        Set-Cookie:
                            description: The authentication session
                            schema:
                                description: The authentication session
                                type: string
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            summary: callback auth
            tags:
                - auth
            x-speakeasy-name-override: callback
            x-speakeasy-react-hook:
                disabled: true
    /rpc/auth.info:
        get:
            description: Provides information about the current authentication status.
            operationId: sessionInfo
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/InfoResponseBody'
                    description: OK response.
                    headers:
                        Gram-Session:
                            description: Session header
                            schema:
                                description: Session header
                                type: string
                        Set-Cookie:
                            description: The authentication session
                            schema:
                                description: The authentication session
                                type: string
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - session_header_Gram-Session: []
            summary: info auth
            tags:
                - auth
            x-speakeasy-name-override: info
            x-speakeasy-react-hook:
                name: SessionInfo
    /rpc/auth.login:
        get:
            description: Proxies to auth login through speakeasy oidc.
            operationId: authLogin
            responses:
                "307":
                    description: Temporary Redirect response.
                    headers:
                        Location:
                            description: The URL to redirect to after authentication
                            schema:
                                description: The URL to redirect to after authentication
                                type: string
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            summary: login auth
            tags:
                - auth
            x-speakeasy-name-override: login
            x-speakeasy-react-hook:
                disabled: true
    /rpc/auth.logout:
        post:
            description: Logs out the current user by clearing their session.
            operationId: logout
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    description: OK response.
                    headers:
                        Set-Cookie:
                            description: Empty string to clear the session
                            schema:
                                description: Empty string to clear the session
                                type: string
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - session_header_Gram-Session: []
            summary: logout auth
            tags:
                - auth
            x-speakeasy-name-override: logout
            x-speakeasy-react-hook:
                name: Logout
    /rpc/auth.register:
        post:
            description: Register a new org for a user with their session information.
            operationId: register
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/RegisterRequestBody'
                required: true
            responses:
                "200":
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - session_header_Gram-Session: []
            summary: register auth
            tags:
                - auth
            x-speakeasy-name-override: register
            x-speakeasy-react-hook:
                name: Register
    /rpc/auth.switchScopes:
        post:
            description: Switches the authentication scope to a different organization.
            operationId: switchAuthScopes
            parameters:
                - allowEmptyValue: true
                  description: The organization slug to switch scopes
                  in: query
                  name: organization_id
                  schema:
                    description: The organization slug to switch scopes
                    type: string
                - allowEmptyValue: true
                  description: The project id to switch scopes too
                  in: query
                  name: project_id
                  schema:
                    description: The project id to switch scopes too
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    description: OK response.
                    headers:
                        Gram-Session:
                            description: Session header
                            schema:
                                description: Session header
                                type: string
                        Set-Cookie:
                            description: The authentication session
                            schema:
                                description: The authentication session
                                type: string
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - session_header_Gram-Session: []
            summary: switchScopes auth
            tags:
                - auth
            x-speakeasy-name-override: switchScopes
            x-speakeasy-react-hook:
                name: SwitchScopes
    /rpc/chat.creditUsage:
        get:
            description: Load a chat by its ID
            operationId: creditUsage
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/CreditUsageResponseBody'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: creditUsage chat
            tags:
                - chat
            x-speakeasy-name-override: creditUsage
            x-speakeasy-react-hook:
                name: GetCreditUsage
    /rpc/chat.list:
        get:
            description: List all chats for a project
            operationId: listChats
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListChatsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: listChats chat
            tags:
                - chat
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: ListChats
    /rpc/chat.load:
        get:
            description: Load a chat by its ID
            operationId: loadChat
            parameters:
                - allowEmptyValue: true
                  description: The ID of the chat
                  in: query
                  name: id
                  required: true
                  schema:
                    description: The ID of the chat
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Chat'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: loadChat chat
            tags:
                - chat
            x-speakeasy-name-override: load
            x-speakeasy-react-hook:
                name: LoadChat
    /rpc/deployments.create:
        post:
            description: Create a deployment to load tool definitions.
            operationId: createDeployment
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
                - allowEmptyValue: true
                  description: A unique identifier that will mitigate against duplicate deployments.
                  example: 01jqq0ajmb4qh9eppz48dejr2m
                  in: header
                  name: Idempotency-Key
                  required: true
                  schema:
                    description: A unique identifier that will mitigate against duplicate deployments.
                    example: 01jqq0ajmb4qh9eppz48dejr2m
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreateDeploymentRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/CreateDeploymentResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: createDeployment deployments
            tags:
                - deployments
            x-speakeasy-name-override: create
            x-speakeasy-react-hook:
                name: CreateDeployment
    /rpc/deployments.evolve:
        post:
            description: Create a new deployment with additional or updated tool sources.
            operationId: evolveDeployment
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/EvolveForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/EvolveResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: evolve deployments
            tags:
                - deployments
            x-speakeasy-name-override: evolveDeployment
            x-speakeasy-react-hook:
                name: EvolveDeployment
    /rpc/deployments.get:
        get:
            description: Get a deployment by its ID.
            operationId: getDeployment
            parameters:
                - allowEmptyValue: true
                  description: The ID of the deployment
                  in: query
                  name: id
                  required: true
                  schema:
                    description: The ID of the deployment
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GetDeploymentResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: getDeployment deployments
            tags:
                - deployments
            x-speakeasy-name-override: getById
            x-speakeasy-react-hook:
                name: Deployment
    /rpc/deployments.latest:
        get:
            description: Get the latest deployment for a project.
            operationId: getLatestDeployment
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GetLatestDeploymentResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: getLatestDeployment deployments
            tags:
                - deployments
            x-speakeasy-name-override: latest
            x-speakeasy-react-hook:
                name: LatestDeployment
    /rpc/deployments.list:
        get:
            description: List all deployments in descending order of creation.
            operationId: listDeployments
            parameters:
                - allowEmptyValue: true
                  description: The cursor to fetch results from
                  in: query
                  name: cursor
                  schema:
                    description: The cursor to fetch results from
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListDeploymentResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: listDeployments deployments
            tags:
                - deployments
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: ListDeployments
    /rpc/deployments.logs:
        get:
            description: Get logs for a deployment.
            operationId: getDeploymentLogs
            parameters:
                - allowEmptyValue: true
                  description: The ID of the deployment
                  in: query
                  name: deployment_id
                  required: true
                  schema:
                    description: The ID of the deployment
                    type: string
                - allowEmptyValue: true
                  description: The cursor to fetch results from
                  in: query
                  name: cursor
                  schema:
                    description: The cursor to fetch results from
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GetDeploymentLogsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: getDeploymentLogs deployments
            tags:
                - deployments
            x-speakeasy-name-override: logs
            x-speakeasy-react-hook:
                name: DeploymentLogs
    /rpc/deployments.redeploy:
        post:
            description: Redeploys an existing deployment.
            operationId: redeployDeployment
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/RedeployRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/RedeployResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: redeploy deployments
            tags:
                - deployments
            x-speakeasy-name-override: redeployDeployment
            x-speakeasy-react-hook:
                name: RedeployDeployment
    /rpc/domain.delete:
        delete:
            description: Delete a custom domain
            operationId: deleteDomain
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: deleteDomain domains
            tags:
                - domains
            x-speakeasy-name-override: deleteDomain
            x-speakeasy-react-hook:
                name: deleteDomain
    /rpc/domain.get:
        get:
            description: Get the custom domain for a project
            operationId: getDomain
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/CustomDomain'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: getDomain domains
            tags:
                - domains
            x-speakeasy-name-override: getDomain
            x-speakeasy-react-hook:
                name: getDomain
    /rpc/domain.register:
        post:
            description: Create a custom domain for a organization
            operationId: registerDomain
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreateDomainRequestBody'
                required: true
            responses:
                "200":
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: createDomain domains
            tags:
                - domains
            x-speakeasy-name-override: registerDomain
            x-speakeasy-react-hook:
                name: registerDomain
    /rpc/environments.create:
        post:
            description: Create a new environment
            operationId: createEnvironment
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreateEnvironmentForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Environment'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: createEnvironment environments
            tags:
                - environments
            x-speakeasy-name-override: create
            x-speakeasy-react-hook:
                name: CreateEnvironment
    /rpc/environments.delete:
        delete:
            description: Delete an environment
            operationId: deleteEnvironment
            parameters:
                - allowEmptyValue: true
                  description: The slug of the environment to delete
                  in: query
                  name: slug
                  required: true
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: deleteEnvironment environments
            tags:
                - environments
            x-speakeasy-name-override: deleteBySlug
            x-speakeasy-react-hook:
                name: DeleteEnvironment
    /rpc/environments.list:
        get:
            description: List all environments for an organization
            operationId: listEnvironments
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListEnvironmentsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: listEnvironments environments
            tags:
                - environments
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: ListEnvironments
    /rpc/environments.update:
        post:
            description: Update an environment
            operationId: updateEnvironment
            parameters:
                - allowEmptyValue: true
                  description: The slug of the environment to update
                  in: query
                  name: slug
                  required: true
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/UpdateEnvironmentRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Environment'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: updateEnvironment environments
            tags:
                - environments
            x-speakeasy-name-override: updateBySlug
            x-speakeasy-react-hook:
                name: UpdateEnvironment
    /rpc/instances.get:
        get:
            description: Load all relevant data for an instance of a toolset and environment
            operationId: getInstance
            parameters:
                - allowEmptyValue: true
                  description: The slug of the toolset to load
                  in: query
                  name: toolset_slug
                  required: true
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: The slug of the environment to load
                  in: query
                  name: environment_slug
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GetInstanceResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: getInstance instances
            tags:
                - instances
            x-speakeasy-name-override: getBySlug
            x-speakeasy-react-hook:
                name: Instance
    /rpc/integrations.get:
        get:
            tags:
                - integrations
            summary: get integrations
            description: Get a third-party integration by ID or name.
            operationId: integrations#get
            parameters:
                - name: id
                  in: query
                  description: The ID of the integration to get (refers to a package id).
                  allowEmptyValue: true
                  schema:
                    type: string
                    description: The ID of the integration to get (refers to a package id).
                - name: name
                  in: query
                  description: The name of the integration to get (refers to a package name).
                  allowEmptyValue: true
                  schema:
                    type: string
                    description: The name of the integration to get (refers to a package name).
                - name: Gram-Session
                  in: header
                  description: Session header
                  allowEmptyValue: true
                  schema:
                    type: string
                    description: Session header
                - name: Gram-Project
                  in: header
                  description: project header
                  allowEmptyValue: true
                  schema:
                    type: string
                    description: project header
            responses:
                "200":
                    description: OK response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GetIntegrationResult'
                "400":
                    description: 'bad_request: request is invalid'
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                "401":
                    description: 'unauthorized: unauthorized access'
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                "403":
                    description: 'forbidden: permission denied'
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                "404":
                    description: 'not_found: resource not found'
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                "409":
                    description: 'conflict: resource already exists'
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                "415":
                    description: 'unsupported_media: unsupported media type'
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                "422":
                    description: 'invalid: request contains one or more invalidation fields'
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                "500":
                    description: 'unexpected: an unexpected error occurred'
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                "502":
                    description: 'gateway_error: an unexpected error occurred'
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
    /rpc/integrations.list:
        get:
            description: List available third-party integrations.
            operationId: listIntegrations
            parameters:
                - allowEmptyValue: true
                  description: Keywords to filter integrations by
                  in: query
                  name: keywords
                  schema:
                    description: Keywords to filter integrations by
                    items:
                        maxLength: 20
                        type: string
                    type: array
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListIntegrationsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: list integrations
            tags:
                - integrations
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: ListIntegrations
    /rpc/keys.create:
        post:
            description: Create a new api key
            operationId: createAPIKey
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreateKeyForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Key'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - session_header_Gram-Session: []
            summary: createKey keys
            tags:
                - keys
            x-speakeasy-name-override: create
            x-speakeasy-react-hook:
                name: CreateAPIKey
    /rpc/keys.list:
        get:
            description: List all api keys for an organization
            operationId: listAPIKeys
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListKeysResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - session_header_Gram-Session: []
            summary: listKeys keys
            tags:
                - keys
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: ListAPIKeys
    /rpc/keys.revoke:
        delete:
            description: Revoke a api key
            operationId: revokeAPIKey
            parameters:
                - allowEmptyValue: true
                  description: The ID of the key to revoke
                  in: query
                  name: id
                  required: true
                  schema:
                    description: The ID of the key to revoke
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - session_header_Gram-Session: []
            summary: revokeKey keys
            tags:
                - keys
            x-speakeasy-name-override: revokeById
            x-speakeasy-react-hook:
                name: RevokeAPIKey
    /rpc/packages.create:
        post:
            description: Create a new package for a project.
            operationId: createPackage
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreatePackageForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/CreatePackageResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: createPackage packages
            tags:
                - packages
            x-speakeasy-name-override: create
            x-speakeasy-react-hook:
                name: CreatePackage
    /rpc/packages.list:
        get:
            description: List all packages for a project.
            operationId: listPackages
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListPackagesResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: listPackages packages
            tags:
                - packages
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: ListPackages
    /rpc/packages.listVersions:
        get:
            description: List published versions of a package.
            operationId: listVersions
            parameters:
                - allowEmptyValue: true
                  description: The name of the package
                  in: query
                  name: name
                  required: true
                  schema:
                    description: The name of the package
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListVersionsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: listVersions packages
            tags:
                - packages
            x-speakeasy-name-override: listVersions
            x-speakeasy-react-hook:
                name: ListVersions
    /rpc/packages.publish:
        post:
            description: Publish a new version of a package.
            operationId: publish
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/PublishPackageForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/PublishPackageResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: publish packages
            tags:
                - packages
            x-speakeasy-name-override: publish
            x-speakeasy-react-hook:
                name: PublishPackage
    /rpc/packages.update:
        put:
            description: Update package details.
            operationId: updatePackage
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/UpdatePackageForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/UpdatePackageResult'
                    description: OK response.
                "304":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/NotModified'
                    description: 'not_modified: Not Modified response.'
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: updatePackage packages
            tags:
                - packages
            x-speakeasy-name-override: update
            x-speakeasy-react-hook:
                name: UpdatePackage
    /rpc/projects.create:
        post:
            description: Create a new project.
            operationId: createProject
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreateProjectRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/CreateProjectResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                - session_header_Gram-Session: []
            summary: createProject projects
            tags:
                - projects
            x-speakeasy-name-override: create
            x-speakeasy-react-hook:
                name: CreateProject
    /rpc/projects.list:
        get:
            description: List all projects for an organization.
            operationId: listProjects
            parameters:
                - allowEmptyValue: true
                  description: The ID of the organization to list projects for
                  in: query
                  name: organization_id
                  required: true
                  schema:
                    description: The ID of the organization to list projects for
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListProjectsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                - session_header_Gram-Session: []
            summary: listProjects projects
            tags:
                - projects
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: ListProjects
    /rpc/projects.setLogo:
        post:
            description: Uploads a logo for a project.
            operationId: setProjectLogo
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/SetProjectLogoForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/SetProjectLogoResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: setLogo projects
            tags:
                - projects
            x-speakeasy-name-override: setLogo
            x-speakeasy-react-hook:
                name: setProjectLogo
    /rpc/slack.callback:
        get:
            description: Handles the authentication callback.
            operationId: slackCallback
            parameters:
                - allowEmptyValue: true
                  description: The state parameter from the callback
                  in: query
                  name: state
                  required: true
                  schema:
                    description: The state parameter from the callback
                    type: string
                - allowEmptyValue: true
                  description: The code parameter from the callback
                  in: query
                  name: code
                  required: true
                  schema:
                    description: The code parameter from the callback
                    type: string
            responses:
                "307":
                    description: Temporary Redirect response.
                    headers:
                        Location:
                            description: The URL to redirect to after authentication
                            schema:
                                description: The URL to redirect to after authentication
                                type: string
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            summary: callback slack
            tags:
                - slack
            x-speakeasy-name-override: slackCallback
            x-speakeasy-react-hook:
                disabled: true
    /rpc/slack.deleteConnection:
        delete:
            description: delete slack connection for an organization and project.
            operationId: deleteSlackConnection
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "204":
                    description: No Content response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: deleteSlackConnection slack
            tags:
                - slack
            x-speakeasy-name-override: deleteSlackConnection
            x-speakeasy-react-hook:
                name: deleteSlackConnection
    /rpc/slack.getConnection:
        get:
            description: get slack connection for an organization and project.
            operationId: getSlackConnection
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GetSlackConnectionResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: getSlackConnection slack
            tags:
                - slack
            x-speakeasy-name-override: getSlackConnection
            x-speakeasy-react-hook:
                name: getSlackConnection
    /rpc/slack.updateConnection:
        post:
            description: update slack connection for an organization and project.
            operationId: updateSlackConnection
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/UpdateSlackConnectionRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GetSlackConnectionResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: updateSlackConnection slack
            tags:
                - slack
            x-speakeasy-name-override: updateSlackConnection
            x-speakeasy-react-hook:
                name: updateSlackConnection
    /rpc/templates.create:
        post:
            description: Create a new prompt template.
            operationId: createTemplate
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreatePromptTemplateForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/CreatePromptTemplateResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: createTemplate templates
            tags:
                - templates
            x-speakeasy-name-override: create
            x-speakeasy-react-hook:
                name: CreateTemplate
    /rpc/templates.delete:
        delete:
            description: Delete prompt template by its ID or name.
            operationId: deleteTemplate
            parameters:
                - allowEmptyValue: true
                  description: The ID of the prompt template
                  in: query
                  name: id
                  schema:
                    description: The ID of the prompt template
                    type: string
                - allowEmptyValue: true
                  description: The name of the prompt template
                  in: query
                  name: name
                  schema:
                    description: The name of the prompt template
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "204":
                    description: No Content response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: deleteTemplate templates
            tags:
                - templates
            x-speakeasy-name-override: delete
            x-speakeasy-react-hook:
                name: DeleteTemplate
    /rpc/templates.get:
        get:
            description: Get prompt template by its ID or name.
            operationId: getTemplate
            parameters:
                - allowEmptyValue: true
                  description: The ID of the prompt template
                  in: query
                  name: id
                  schema:
                    description: The ID of the prompt template
                    type: string
                - allowEmptyValue: true
                  description: The name of the prompt template
                  in: query
                  name: name
                  schema:
                    description: The name of the prompt template
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GetPromptTemplateResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: getTemplate templates
            tags:
                - templates
            x-speakeasy-name-override: get
            x-speakeasy-react-hook:
                name: Template
    /rpc/templates.list:
        get:
            description: List available prompt template.
            operationId: listTemplates
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListPromptTemplatesResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: listTemplates templates
            tags:
                - templates
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: Templates
    /rpc/templates.render:
        post:
            description: Render a prompt template by ID with provided input data.
            operationId: renderTemplateByID
            parameters:
                - allowEmptyValue: true
                  description: The ID of the prompt template to render
                  in: query
                  name: id
                  required: true
                  schema:
                    description: The ID of the prompt template to render
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/RenderTemplateByIDRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/RenderTemplateResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: renderTemplateByID templates
            tags:
                - templates
            x-speakeasy-name-override: renderByID
            x-speakeasy-react-hook:
                name: RenderTemplateByID
                type: query
    /rpc/templates.renderDirect:
        post:
            description: Render a prompt template directly with all template fields provided.
            operationId: renderTemplate
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/RenderTemplateRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/RenderTemplateResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: renderTemplate templates
            tags:
                - templates
            x-speakeasy-name-override: render
            x-speakeasy-react-hook:
                name: RenderTemplate
                type: query
    /rpc/templates.update:
        post:
            description: Update a prompt template.
            operationId: updateTemplate
            parameters:
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/UpdatePromptTemplateForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/UpdatePromptTemplateResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: updateTemplate templates
            tags:
                - templates
            x-speakeasy-name-override: update
            x-speakeasy-react-hook:
                name: UpdateTemplate
    /rpc/tools.list:
        get:
            description: List all tools for a project
            operationId: listTools
            parameters:
                - allowEmptyValue: true
                  description: The cursor to fetch results from
                  in: query
                  name: cursor
                  schema:
                    description: The cursor to fetch results from
                    type: string
                - allowEmptyValue: true
                  description: The number of tools to return per page
                  in: query
                  name: limit
                  schema:
                    description: The number of tools to return per page
                    format: int32
                    type: integer
                - allowEmptyValue: true
                  description: The deployment ID. If unset, latest deployment will be used.
                  in: query
                  name: deployment_id
                  schema:
                    description: The deployment ID. If unset, latest deployment will be used.
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListToolsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: listTools tools
            tags:
                - tools
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: ListTools
    /rpc/toolsets.addExternalOAuthServer:
        post:
            description: Associate an external OAuth server with a toolset
            operationId: addExternalOAuthServer
            parameters:
                - allowEmptyValue: true
                  description: The slug of the toolset to update
                  in: query
                  name: slug
                  required: true
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/AddExternalOAuthServerRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Toolset'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: addExternalOAuthServer toolsets
            tags:
                - toolsets
            x-speakeasy-name-override: addExternalOAuthServer
            x-speakeasy-react-hook:
                name: AddExternalOAuthServer
    /rpc/toolsets.checkMCPSlugAvailability:
        get:
            description: Check if a MCP slug is available
            operationId: checkMCPSlugAvailability
            parameters:
                - allowEmptyValue: true
                  description: The slug to check
                  in: query
                  name: slug
                  required: true
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                type: boolean
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: checkMCPSlugAvailability toolsets
            tags:
                - toolsets
            x-speakeasy-name-override: checkMCPSlugAvailability
            x-speakeasy-react-hook:
                name: CheckMCPSlugAvailability
    /rpc/toolsets.create:
        post:
            description: Create a new toolset with associated tools
            operationId: createToolset
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreateToolsetRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Toolset'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: createToolset toolsets
            tags:
                - toolsets
            x-speakeasy-name-override: create
            x-speakeasy-react-hook:
                name: CreateToolset
    /rpc/toolsets.delete:
        delete:
            description: Delete a toolset by its ID
            operationId: deleteToolset
            parameters:
                - allowEmptyValue: true
                  description: The slug of the toolset
                  in: query
                  name: slug
                  required: true
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "204":
                    description: No Content response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: deleteToolset toolsets
            tags:
                - toolsets
            x-speakeasy-name-override: deleteBySlug
            x-speakeasy-react-hook:
                name: DeleteToolset
    /rpc/toolsets.get:
        get:
            description: Get detailed information about a toolset including full HTTP tool definitions
            operationId: getToolset
            parameters:
                - allowEmptyValue: true
                  description: The slug of the toolset
                  in: query
                  name: slug
                  required: true
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Toolset'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: getToolset toolsets
            tags:
                - toolsets
            x-speakeasy-name-override: getBySlug
            x-speakeasy-react-hook:
                name: Toolset
    /rpc/toolsets.list:
        get:
            description: List all toolsets for a project
            operationId: listToolsets
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListToolsetsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: listToolsets toolsets
            tags:
                - toolsets
            x-speakeasy-name-override: list
            x-speakeasy-react-hook:
                name: ListToolsets
    /rpc/toolsets.removeOAuthServer:
        post:
            description: Remove OAuth server association from a toolset
            operationId: removeOAuthServer
            parameters:
                - allowEmptyValue: true
                  description: The slug of the toolset
                  in: query
                  name: slug
                  required: true
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Toolset'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: removeOAuthServer toolsets
            tags:
                - toolsets
            x-speakeasy-name-override: removeOAuthServer
            x-speakeasy-react-hook:
                name: RemoveOAuthServer
    /rpc/toolsets.update:
        post:
            description: Update a toolset's properties including name, description, and HTTP tools
            operationId: updateToolset
            parameters:
                - allowEmptyValue: true
                  description: The slug of the toolset to update
                  in: query
                  name: slug
                  required: true
                  schema:
                    description: A short url-friendly label that uniquely identifies a resource.
                    maxLength: 40
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/UpdateToolsetRequestBody'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Toolset'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: updateToolset toolsets
            tags:
                - toolsets
            x-speakeasy-name-override: updateBySlug
            x-speakeasy-react-hook:
                name: UpdateToolset
    /rpc/usage.createCheckout:
        post:
            description: Create a checkout link for upgrading to the business plan
            operationId: createCheckout
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                type: string
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: createCheckout usage
            tags:
                - usage
            x-speakeasy-name-override: createCheckout
            x-speakeasy-react-hook:
                name: createCheckout
    /rpc/usage.createCustomerSession:
        post:
            description: Create a customer session for the user
            operationId: createCustomerSession
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                type: string
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: createCustomerSession usage
            tags:
                - usage
            x-speakeasy-name-override: createCustomerSession
            x-speakeasy-react-hook:
                name: createCustomerSession
    /rpc/usage.getPeriodUsage:
        get:
            description: Get the usage for a project for a given period
            operationId: getPeriodUsage
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/PeriodUsage'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
            summary: getPeriodUsage usage
            tags:
                - usage
            x-speakeasy-name-override: getPeriodUsage
            x-speakeasy-react-hook:
                name: getPeriodUsage
    /rpc/usage.getUsageTiers:
        get:
            description: Get the usage tiers
            operationId: getUsageTiers
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/UsageTiers'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            summary: getUsageTiers usage
            tags:
                - usage
            x-speakeasy-name-override: getUsageTiers
            x-speakeasy-react-hook:
                name: getUsageTiers
    /rpc/variations.deleteGlobal:
        delete:
            description: Create or update a globally defined tool variation.
            operationId: deleteGlobalVariation
            parameters:
                - allowEmptyValue: true
                  description: The ID of the variation to delete
                  in: query
                  name: variation_id
                  required: true
                  schema:
                    description: The ID of the variation to delete
                    type: string
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/DeleteGlobalToolVariationResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: deleteGlobal variations
            tags:
                - variations
            x-speakeasy-name-override: deleteGlobal
            x-speakeasy-react-hook:
                name: deleteGlobalVariation
    /rpc/variations.listGlobal:
        get:
            description: List globally defined tool variations.
            operationId: listGlobalVariations
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListVariationsResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: listGlobal variations
            tags:
                - variations
            x-speakeasy-name-override: listGlobal
            x-speakeasy-react-hook:
                name: GlobalVariations
    /rpc/variations.upsertGlobal:
        post:
            description: Create or update a globally defined tool variation.
            operationId: upsertGlobalVariation
            parameters:
                - allowEmptyValue: true
                  description: Session header
                  in: header
                  name: Gram-Session
                  schema:
                    description: Session header
                    type: string
                - allowEmptyValue: true
                  description: API Key header
                  in: header
                  name: Gram-Key
                  schema:
                    description: API Key header
                    type: string
                - allowEmptyValue: true
                  description: project header
                  in: header
                  name: Gram-Project
                  schema:
                    description: project header
                    type: string
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/UpsertGlobalToolVariationForm'
                required: true
            responses:
                "200":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/UpsertGlobalToolVariationResult'
                    description: OK response.
                "400":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'bad_request: request is invalid'
                "401":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unauthorized: unauthorized access'
                "403":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'forbidden: permission denied'
                "404":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'not_found: resource not found'
                "409":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'conflict: resource already exists'
                "415":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unsupported_media: unsupported media type'
                "422":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'invalid: request contains one or more invalidation fields'
                "500":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'unexpected: an unexpected error occurred'
                "502":
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Error'
                    description: 'gateway_error: an unexpected error occurred'
            security:
                - project_slug_header_Gram-Project: []
                  session_header_Gram-Session: []
                - apikey_header_Gram-Key: []
                  project_slug_header_Gram-Project: []
            summary: upsertGlobal variations
            tags:
                - variations
            x-speakeasy-name-override: upsertGlobal
            x-speakeasy-react-hook:
                name: UpsertGlobalVariation
components:
    schemas:
        AddDeploymentPackageForm:
            type: object
            properties:
                name:
                    type: string
                    description: The name of the package.
                version:
                    type: string
                    description: The version of the package.
            required:
                - name
        AddExternalOAuthServerForm:
            type: object
            properties:
                external_oauth_server:
                    $ref: '#/components/schemas/ExternalOAuthServerForm'
                project_slug_input:
                    type: string
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            required:
                - slug
                - external_oauth_server
        AddExternalOAuthServerRequestBody:
            type: object
            properties:
                external_oauth_server:
                    $ref: '#/components/schemas/ExternalOAuthServerForm'
            required:
                - external_oauth_server
        AddOpenAPIv3DeploymentAssetForm:
            type: object
            properties:
                asset_id:
                    type: string
                    description: The ID of the uploaded asset.
                name:
                    type: string
                    description: The name to give the document as it will be displayed in UIs.
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            required:
                - asset_id
                - name
                - slug
        AddOpenAPIv3SourceForm:
            type: object
            properties:
                asset_id:
                    type: string
                    description: The ID of the uploaded asset.
                name:
                    type: string
                    description: The name to give the document as it will be displayed in UIs.
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            required:
                - asset_id
                - name
                - slug
        AddOpenAPIv3SourceResult:
            type: object
            properties:
                deployment:
                    $ref: '#/components/schemas/Deployment'
        AddPackageForm:
            type: object
            properties:
                name:
                    type: string
                    description: The name of the package to add.
                version:
                    type: string
                    description: The version of the package to add. If omitted, the latest version will be used.
            required:
                - name
        Asset:
            type: object
            properties:
                content_length:
                    type: integer
                    description: The content length of the asset
                    format: int64
                content_type:
                    type: string
                    description: The content type of the asset
                created_at:
                    type: string
                    description: The creation date of the asset.
                    format: date-time
                id:
                    type: string
                    description: The ID of the asset
                kind:
                    type: string
                    enum:
                        - openapiv3
                        - image
                        - functions
                        - unknown
                sha256:
                    type: string
                    description: The SHA256 hash of the asset
                updated_at:
                    type: string
                    description: The last update date of the asset.
                    format: date-time
            required:
                - id
                - kind
                - sha256
                - content_type
                - content_length
                - created_at
                - updated_at
        CanonicalToolAttributes:
            type: object
            properties:
                confirm:
                    type: string
                    description: Confirmation mode for the tool
                confirm_prompt:
                    type: string
                    description: Prompt for the confirmation
                description:
                    type: string
                    description: Description of the tool
                name:
                    type: string
                    description: The name of the tool
                summarizer:
                    type: string
                    description: Summarizer for the tool
                summary:
                    type: string
                    description: Summary of the tool
                tags:
                    type: array
                    items:
                        type: string
                    description: The tags list for this http tool
                variation_id:
                    type: string
                    description: The ID of the variation that was applied to the tool
            description: The original details of a tool
            required:
                - variation_id
                - name
        Chat:
            type: object
            properties:
                created_at:
                    type: string
                    description: When the chat was created.
                    format: date-time
                id:
                    type: string
                    description: The ID of the chat
                messages:
                    type: array
                    items:
                        $ref: '#/components/schemas/ChatMessage'
                    description: The list of messages in the chat
                num_messages:
                    type: integer
                    description: The number of messages in the chat
                    format: int64
                title:
                    type: string
                    description: The title of the chat
                updated_at:
                    type: string
                    description: When the chat was last updated.
                    format: date-time
                user_id:
                    type: string
                    description: The ID of the user who created the chat
            required:
                - messages
                - id
                - title
                - user_id
                - num_messages
                - created_at
                - updated_at
        ChatMessage:
            type: object
            properties:
                content:
                    type: string
                    description: The content of the message
                created_at:
                    type: string
                    description: When the message was created.
                    format: date-time
                finish_reason:
                    type: string
                    description: The finish reason of the message
                id:
                    type: string
                    description: The ID of the message
                model:
                    type: string
                    description: The model that generated the message
                role:
                    type: string
                    description: The role of the message
                tool_call_id:
                    type: string
                    description: The tool call ID of the message
                tool_calls:
                    type: string
                    description: The tool calls in the message as a JSON blob
                user_id:
                    type: string
                    description: The ID of the user who created the message
            required:
                - id
                - role
                - model
                - created_at
        ChatOverview:
            type: object
            properties:
                created_at:
                    type: string
                    description: When the chat was created.
                    format: date-time
                id:
                    type: string
                    description: The ID of the chat
                num_messages:
                    type: integer
                    description: The number of messages in the chat
                    format: int64
                title:
                    type: string
                    description: The title of the chat
                updated_at:
                    type: string
                    description: When the chat was last updated.
                    format: date-time
                user_id:
                    type: string
                    description: The ID of the user who created the chat
            required:
                - id
                - title
                - user_id
                - num_messages
                - created_at
                - updated_at
        CreateDeploymentForm:
            type: object
            properties:
                external_id:
                    type: string
                    description: The external ID to refer to the deployment. This can be a git commit hash for example.
                    example: bc5f4a555e933e6861d12edba4c2d87ef6caf8e6
                external_url:
                    type: string
                    description: The upstream URL a deployment can refer to. This can be a github url to a commit hash or pull request.
                github_pr:
                    type: string
                    description: The github pull request that resulted in the deployment.
                    example: "1234"
                github_repo:
                    type: string
                    description: The github repository in the form of "owner/repo".
                    example: speakeasyapi/gram
                github_sha:
                    type: string
                    description: The commit hash that triggered the deployment.
                    example: f33e693e9e12552043bc0ec5c37f1b8a9e076161
                idempotency_key:
                    type: string
                    description: A unique identifier that will mitigate against duplicate deployments.
                    example: 01jqq0ajmb4qh9eppz48dejr2m
                openapiv3_assets:
                    type: array
                    items:
                        $ref: '#/components/schemas/AddOpenAPIv3DeploymentAssetForm'
                packages:
                    type: array
                    items:
                        $ref: '#/components/schemas/AddDeploymentPackageForm'
            required:
                - idempotency_key
        CreateDeploymentRequestBody:
            type: object
            properties:
                external_id:
                    type: string
                    description: The external ID to refer to the deployment. This can be a git commit hash for example.
                    example: bc5f4a555e933e6861d12edba4c2d87ef6caf8e6
                external_url:
                    type: string
                    description: The upstream URL a deployment can refer to. This can be a github url to a commit hash or pull request.
                github_pr:
                    type: string
                    description: The github pull request that resulted in the deployment.
                    example: "1234"
                github_repo:
                    type: string
                    description: The github repository in the form of "owner/repo".
                    example: speakeasyapi/gram
                github_sha:
                    type: string
                    description: The commit hash that triggered the deployment.
                    example: f33e693e9e12552043bc0ec5c37f1b8a9e076161
                openapiv3_assets:
                    type: array
                    items:
                        $ref: '#/components/schemas/AddOpenAPIv3DeploymentAssetForm'
                packages:
                    type: array
                    items:
                        $ref: '#/components/schemas/AddDeploymentPackageForm'
        CreateDeploymentResult:
            type: object
            properties:
                deployment:
                    $ref: '#/components/schemas/Deployment'
        CreateDomainRequestBody:
            type: object
            properties:
                domain:
                    type: string
                    description: The custom domain
            required:
                - domain
        CreateEnvironmentForm:
            type: object
            properties:
                description:
                    type: string
                    description: Optional description of the environment
                entries:
                    type: array
                    items:
                        $ref: '#/components/schemas/EnvironmentEntryInput'
                    description: List of environment variable entries
                name:
                    type: string
                    description: The name of the environment
                organization_id:
                    type: string
                    description: The organization ID this environment belongs to
            description: Form for creating a new environment
            required:
                - organization_id
                - name
                - entries
        CreateKeyForm:
            type: object
            properties:
                name:
                    type: string
                    description: The name of the key
                scopes:
                    type: array
                    items:
                        type: string
                    description: The scopes of the key that determines its permissions.
                    minItems: 1
            required:
                - name
                - scopes
        CreatePackageForm:
            type: object
            properties:
                description:
                    type: string
                    description: The description of the package. Limited markdown syntax is supported.
                    maxLength: 10000
                image_asset_id:
                    type: string
                    description: The asset ID of the image to show for this package
                    maxLength: 50
                keywords:
                    type: array
                    items:
                        type: string
                    description: The keywords of the package
                    maxItems: 5
                name:
                    type: string
                    description: The name of the package
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 100
                summary:
                    type: string
                    description: The summary of the package
                    maxLength: 80
                title:
                    type: string
                    description: The title of the package
                    maxLength: 100
                url:
                    type: string
                    description: External URL for the package owner
                    maxLength: 100
            required:
                - name
                - title
                - summary
        CreatePackageResult:
            type: object
            properties:
                package:
                    $ref: '#/components/schemas/Package'
            required:
                - package
        CreateProjectForm:
            type: object
            properties:
                apikey_token:
                    type: string
                name:
                    type: string
                    description: The name of the project
                    maxLength: 40
                organization_id:
                    type: string
                    description: The ID of the organization to create the project in
                session_token:
                    type: string
            required:
                - organization_id
                - name
        CreateProjectRequestBody:
            type: object
            properties:
                name:
                    type: string
                    description: The name of the project
                    maxLength: 40
                organization_id:
                    type: string
                    description: The ID of the organization to create the project in
            required:
                - organization_id
                - name
        CreateProjectResult:
            type: object
            properties:
                project:
                    $ref: '#/components/schemas/Project'
            required:
                - project
        CreatePromptTemplateForm:
            type: object
            properties:
                arguments:
                    type: string
                    description: The JSON Schema defining the placeholders found in the prompt template
                    format: json
                description:
                    type: string
                    description: The description of the prompt template
                engine:
                    type: string
                    description: The template engine
                    enum:
                        - mustache
                kind:
                    type: string
                    description: The kind of prompt the template is used for
                    enum:
                        - prompt
                        - higher_order_tool
                name:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                prompt:
                    type: string
                    description: The template content
                tools_hint:
                    type: array
                    items:
                        type: string
                    description: The suggested tool names associated with the prompt template
                    maxItems: 20
            required:
                - name
                - prompt
                - engine
                - kind
        CreatePromptTemplateResult:
            type: object
            properties:
                template:
                    $ref: '#/components/schemas/PromptTemplate'
            required:
                - template
        CreateToolsetForm:
            type: object
            properties:
                default_environment_slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                description:
                    type: string
                    description: Description of the toolset
                http_tool_names:
                    type: array
                    items:
                        type: string
                    description: List of HTTP tool names to include
                name:
                    type: string
                    description: The name of the toolset
                project_slug_input:
                    type: string
            required:
                - name
        CreateToolsetRequestBody:
            type: object
            properties:
                default_environment_slug:
                    type: string
                    description: The slug of the environment to use as the default for the toolset
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                description:
                    type: string
                    description: Description of the toolset
                http_tool_names:
                    type: array
                    items:
                        type: string
                    description: List of HTTP tool names to include
                name:
                    type: string
                    description: The name of the toolset
            required:
                - name
        CreditUsageResponseBody:
            type: object
            properties:
                credits_used:
                    type: number
                    description: The number of credits remaining
                    format: double
                monthly_credits:
                    type: integer
                    description: The number of monthly credits
                    format: int64
            required:
                - credits_used
                - monthly_credits
        CustomDomain:
            type: object
            properties:
                activated:
                    type: boolean
                    description: Whether the domain is activated in ingress
                created_at:
                    type: string
                    description: When the custom domain was created.
                    format: date-time
                domain:
                    type: string
                    description: The custom domain name
                id:
                    type: string
                    description: The ID of the custom domain
                is_updating:
                    type: boolean
                    description: The custom domain is actively being registered
                organization_id:
                    type: string
                    description: The ID of the organization this domain belongs to
                updated_at:
                    type: string
                    description: When the custom domain was last updated.
                    format: date-time
                verified:
                    type: boolean
                    description: Whether the domain is verified
            required:
                - id
                - organization_id
                - domain
                - verified
                - activated
                - created_at
                - updated_at
                - is_updating
        DeleteGlobalToolVariationForm:
            type: object
            properties:
                variation_id:
                    type: string
                    description: The ID of the variation to delete
            required:
                - variation_id
        DeleteGlobalToolVariationResult:
            type: object
            properties:
                variation_id:
                    type: string
                    description: The ID of the variation that was deleted
            required:
                - variation_id
        Deployment:
            type: object
            properties:
                cloned_from:
                    type: string
                    description: The ID of the deployment that this deployment was cloned from.
                    example: bc5f4a555e933e6861d12edba4c2d87ef6caf8e6
                created_at:
                    type: string
                    description: The creation date of the deployment.
                    format: date-time
                external_id:
                    type: string
                    description: The external ID to refer to the deployment. This can be a git commit hash for example.
                    example: bc5f4a555e933e6861d12edba4c2d87ef6caf8e6
                external_url:
                    type: string
                    description: The upstream URL a deployment can refer to. This can be a github url to a commit hash or pull request.
                github_pr:
                    type: string
                    description: The github pull request that resulted in the deployment.
                    example: "1234"
                github_repo:
                    type: string
                    description: The github repository in the form of "owner/repo".
                    example: speakeasyapi/gram
                github_sha:
                    type: string
                    description: The commit hash that triggered the deployment.
                    example: f33e693e9e12552043bc0ec5c37f1b8a9e076161
                id:
                    type: string
                    description: The ID to of the deployment.
                    example: bc5f4a555e933e6861d12edba4c2d87ef6caf8e6
                idempotency_key:
                    type: string
                    description: A unique identifier that will mitigate against duplicate deployments.
                    example: 01jqq0ajmb4qh9eppz48dejr2m
                openapiv3_assets:
                    type: array
                    items:
                        $ref: '#/components/schemas/OpenAPIv3DeploymentAsset'
                    description: The IDs, as returned from the assets upload service, to uploaded OpenAPI 3.x documents whose operations will become tool definitions.
                organization_id:
                    type: string
                    description: The ID of the organization that the deployment belongs to.
                packages:
                    type: array
                    items:
                        $ref: '#/components/schemas/DeploymentPackage'
                    description: The packages that were deployed.
                project_id:
                    type: string
                    description: The ID of the project that the deployment belongs to.
                status:
                    type: string
                    description: The status of the deployment.
                tool_count:
                    type: integer
                    description: The number of tools in the deployment.
                    format: int64
                user_id:
                    type: string
                    description: The ID of the user that created the deployment.
            required:
                - id
                - created_at
                - organization_id
                - project_id
                - user_id
                - openapiv3_assets
                - status
                - packages
                - tool_count
        DeploymentLogEvent:
            type: object
            properties:
                created_at:
                    type: string
                    description: The creation date of the log event
                event:
                    type: string
                    description: The type of event that occurred
                id:
                    type: string
                    description: The ID of the log event
                message:
                    type: string
                    description: The message of the log event
            required:
                - id
                - created_at
                - event
                - message
        DeploymentPackage:
            type: object
            properties:
                id:
                    type: string
                    description: The ID of the deployment package.
                name:
                    type: string
                    description: The name of the package.
                version:
                    type: string
                    description: The version of the package.
            required:
                - id
                - name
                - version
        DeploymentSummary:
            type: object
            properties:
                asset_count:
                    type: integer
                    description: The number of upstream assets.
                    format: int64
                created_at:
                    type: string
                    description: The creation date of the deployment.
                    format: date-time
                id:
                    type: string
                    description: The ID to of the deployment.
                    example: bc5f4a555e933e6861d12edba4c2d87ef6caf8e6
                status:
                    type: string
                    description: The status of the deployment.
                tool_count:
                    type: integer
                    description: The number of tools in the deployment.
                    format: int64
                user_id:
                    type: string
                    description: The ID of the user that created the deployment.
            required:
                - id
                - created_at
                - user_id
                - status
                - asset_count
                - tool_count
        Environment:
            type: object
            properties:
                created_at:
                    type: string
                    description: The creation date of the environment
                    format: date-time
                description:
                    type: string
                    description: The description of the environment
                entries:
                    type: array
                    items:
                        $ref: '#/components/schemas/EnvironmentEntry'
                    description: List of environment entries
                id:
                    type: string
                    description: The ID of the environment
                name:
                    type: string
                    description: The name of the environment
                organization_id:
                    type: string
                    description: The organization ID this environment belongs to
                project_id:
                    type: string
                    description: The project ID this environment belongs to
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                updated_at:
                    type: string
                    description: When the environment was last updated
                    format: date-time
            description: Model representing an environment
            required:
                - id
                - organization_id
                - project_id
                - name
                - slug
                - entries
                - created_at
                - updated_at
        EnvironmentEntry:
            type: object
            properties:
                created_at:
                    type: string
                    description: The creation date of the environment entry
                    format: date-time
                name:
                    type: string
                    description: The name of the environment variable
                updated_at:
                    type: string
                    description: When the environment entry was last updated
                    format: date-time
                value:
                    type: string
                    description: Redacted values of the environment variable
            description: A single environment entry
            required:
                - name
                - value
                - created_at
                - updated_at
        EnvironmentEntryInput:
            type: object
            properties:
                name:
                    type: string
                    description: The name of the environment variable
                value:
                    type: string
                    description: The value of the environment variable
            description: A single environment entry
            required:
                - name
                - value
        Error:
            type: object
            properties:
                fault:
                    type: boolean
                    description: Is the error a server-side fault?
                id:
                    type: string
                    description: ID is a unique identifier for this particular occurrence of the problem.
                    example: 123abc
                message:
                    type: string
                    description: Message is a human-readable explanation specific to this occurrence of the problem.
                    example: parameter 'p' must be an integer
                name:
                    type: string
                    description: Name is the name of this class of errors.
                    example: bad_request
                temporary:
                    type: boolean
                    description: Is the error temporary?
                timeout:
                    type: boolean
                    description: Is the error a timeout?
            description: unauthorized access
            required:
                - name
                - id
                - message
                - temporary
                - timeout
                - fault
        EvolveForm:
            type: object
            properties:
                deployment_id:
                    type: string
                    description: The ID of the deployment to evolve. If omitted, the latest deployment will be used.
                exclude_openapiv3_assets:
                    type: array
                    items:
                        type: string
                    description: The OpenAPI 3.x documents to exclude from the new deployment when cloning a previous deployment.
                exclude_packages:
                    type: array
                    items:
                        type: string
                    description: The packages to exclude from the new deployment when cloning a previous deployment.
                upsert_openapiv3_assets:
                    type: array
                    items:
                        $ref: '#/components/schemas/AddOpenAPIv3DeploymentAssetForm'
                    description: The OpenAPI 3.x documents to upsert in the new deployment.
                upsert_packages:
                    type: array
                    items:
                        $ref: '#/components/schemas/AddPackageForm'
                    description: The packages to upsert in the new deployment.
        EvolveResult:
            type: object
            properties:
                deployment:
                    $ref: '#/components/schemas/Deployment'
        ExternalOAuthServer:
            type: object
            properties:
                created_at:
                    type: string
                    description: When the external OAuth server was created.
                    format: date-time
                id:
                    type: string
                    description: The ID of the external OAuth server
                metadata:
                    description: The metadata for the external OAuth server
                project_id:
                    type: string
                    description: The project ID this external OAuth server belongs to
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                updated_at:
                    type: string
                    description: When the external OAuth server was last updated.
                    format: date-time
            required:
                - id
                - project_id
                - slug
                - metadata
                - created_at
                - updated_at
        ExternalOAuthServerForm:
            type: object
            properties:
                metadata:
                    description: The metadata for the external OAuth server
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            required:
                - slug
                - metadata
        GetDeploymentForm:
            type: object
            properties:
                id:
                    type: string
                    description: The ID of the deployment
            required:
                - id
        GetDeploymentLogsForm:
            type: object
            properties:
                cursor:
                    type: string
                    description: The cursor to fetch results from
                deployment_id:
                    type: string
                    description: The ID of the deployment
            required:
                - deployment_id
        GetDeploymentLogsResult:
            type: object
            properties:
                events:
                    type: array
                    items:
                        $ref: '#/components/schemas/DeploymentLogEvent'
                    description: The logs for the deployment
                next_cursor:
                    type: string
                    description: The cursor to fetch results from
                status:
                    type: string
                    description: The status of the deployment
            required:
                - events
                - status
        GetDeploymentResult:
            type: object
            properties:
                cloned_from:
                    type: string
                    description: The ID of the deployment that this deployment was cloned from.
                    example: bc5f4a555e933e6861d12edba4c2d87ef6caf8e6
                created_at:
                    type: string
                    description: The creation date of the deployment.
                    format: date-time
                external_id:
                    type: string
                    description: The external ID to refer to the deployment. This can be a git commit hash for example.
                    example: bc5f4a555e933e6861d12edba4c2d87ef6caf8e6
                external_url:
                    type: string
                    description: The upstream URL a deployment can refer to. This can be a github url to a commit hash or pull request.
                github_pr:
                    type: string
                    description: The github pull request that resulted in the deployment.
                    example: "1234"
                github_repo:
                    type: string
                    description: The github repository in the form of "owner/repo".
                    example: speakeasyapi/gram
                github_sha:
                    type: string
                    description: The commit hash that triggered the deployment.
                    example: f33e693e9e12552043bc0ec5c37f1b8a9e076161
                id:
                    type: string
                    description: The ID to of the deployment.
                    example: bc5f4a555e933e6861d12edba4c2d87ef6caf8e6
                idempotency_key:
                    type: string
                    description: A unique identifier that will mitigate against duplicate deployments.
                    example: 01jqq0ajmb4qh9eppz48dejr2m
                openapiv3_assets:
                    type: array
                    items:
                        $ref: '#/components/schemas/OpenAPIv3DeploymentAsset'
                    description: The IDs, as returned from the assets upload service, to uploaded OpenAPI 3.x documents whose operations will become tool definitions.
                organization_id:
                    type: string
                    description: The ID of the organization that the deployment belongs to.
                packages:
                    type: array
                    items:
                        $ref: '#/components/schemas/DeploymentPackage'
                    description: The packages that were deployed.
                project_id:
                    type: string
                    description: The ID of the project that the deployment belongs to.
                status:
                    type: string
                    description: The status of the deployment.
                tool_count:
                    type: integer
                    description: The number of tools in the deployment.
                    format: int64
                user_id:
                    type: string
                    description: The ID of the user that created the deployment.
            required:
                - id
                - created_at
                - organization_id
                - project_id
                - user_id
                - openapiv3_assets
                - status
                - packages
                - tool_count
        GetInstanceForm:
            type: object
            properties:
                apikey_token:
                    type: string
                environment_slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                project_slug_input:
                    type: string
                session_token:
                    type: string
                toolset_slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            required:
                - toolset_slug
        GetInstanceResult:
            type: object
            properties:
                description:
                    type: string
                    description: The description of the toolset
                environment:
                    $ref: '#/components/schemas/Environment'
                name:
                    type: string
                    description: The name of the toolset
                prompt_templates:
                    type: array
                    items:
                        $ref: '#/components/schemas/PromptTemplate'
                    description: The list of prompt templates
                security_variables:
                    type: array
                    items:
                        $ref: '#/components/schemas/SecurityVariable'
                    description: The security variables that are relevant to the toolset
                server_variables:
                    type: array
                    items:
                        $ref: '#/components/schemas/ServerVariable'
                    description: The server variables that are relevant to the toolset
                tools:
                    type: array
                    items:
                        $ref: '#/components/schemas/HTTPToolDefinition'
                    description: The list of tools
            required:
                - name
                - tools
                - environment
        GetIntegrationForm:
            type: object
            properties:
                id:
                    type: string
                    description: The ID of the integration to get (refers to a package id).
                name:
                    type: string
                    description: The name of the integration to get (refers to a package name).
            description: Get a third-party integration by ID or name.
        GetIntegrationResult:
            type: object
            properties:
                integration:
                    $ref: '#/components/schemas/Integration'
        GetLatestDeploymentResult:
            type: object
            properties:
                deployment:
                    $ref: '#/components/schemas/Deployment'
        GetPromptTemplateResult:
            type: object
            properties:
                template:
                    $ref: '#/components/schemas/PromptTemplate'
            required:
                - template
        GetSlackConnectionResult:
            type: object
            properties:
                created_at:
                    type: string
                    description: When the toolset was created.
                    format: date-time
                default_toolset_slug:
                    type: string
                    description: The default toolset slug for this Slack connection
                slack_team_id:
                    type: string
                    description: The ID of the connected Slack team
                slack_team_name:
                    type: string
                    description: The name of the connected Slack team
                updated_at:
                    type: string
                    description: When the toolset was last updated.
                    format: date-time
            required:
                - slack_team_name
                - slack_team_id
                - default_toolset_slug
                - created_at
                - updated_at
        HTTPToolDefinition:
            type: object
            properties:
                canonical:
                    $ref: '#/components/schemas/CanonicalToolAttributes'
                canonical_name:
                    type: string
                    description: The canonical name of the tool. Will be the same as the name if there is no variation.
                confirm:
                    type: string
                    description: Confirmation mode for the tool
                confirm_prompt:
                    type: string
                    description: Prompt for the confirmation
                created_at:
                    type: string
                    description: The creation date of the tool.
                    format: date-time
                default_server_url:
                    type: string
                    description: The default server URL for the tool
                deployment_id:
                    type: string
                    description: The ID of the deployment
                description:
                    type: string
                    description: Description of the tool
                http_method:
                    type: string
                    description: HTTP method for the request
                id:
                    type: string
                    description: The ID of the HTTP tool
                name:
                    type: string
                    description: The name of the tool
                openapiv3_document_id:
                    type: string
                    description: The ID of the OpenAPI v3 document
                openapiv3_operation:
                    type: string
                    description: OpenAPI v3 operation
                package_name:
                    type: string
                    description: The name of the source package
                path:
                    type: string
                    description: Path for the request
                project_id:
                    type: string
                    description: The ID of the project
                response_filter:
                    $ref: '#/components/schemas/ResponseFilter'
                schema:
                    type: string
                    description: JSON schema for the request
                schema_version:
                    type: string
                    description: Version of the schema
                security:
                    type: string
                    description: Security requirements for the underlying HTTP endpoint
                summarizer:
                    type: string
                    description: Summarizer for the tool
                summary:
                    type: string
                    description: Summary of the tool
                tags:
                    type: array
                    items:
                        type: string
                    description: The tags list for this http tool
                updated_at:
                    type: string
                    description: The last update date of the tool.
                    format: date-time
                variation:
                    $ref: '#/components/schemas/ToolVariation'
            required:
                - id
                - project_id
                - deployment_id
                - name
                - canonical_name
                - summary
                - description
                - confirm
                - tags
                - http_method
                - path
                - schema
                - created_at
                - updated_at
        HTTPToolDefinitionEntry:
            type: object
            properties:
                id:
                    type: string
                    description: The ID of the HTTP tool
                name:
                    type: string
                    description: The name of the tool
            required:
                - id
                - name
        InfoResponseBody:
            type: object
            properties:
                active_organization_id:
                    type: string
                gram_account_type:
                    type: string
                is_admin:
                    type: boolean
                organizations:
                    type: array
                    items:
                        $ref: '#/components/schemas/OrganizationEntry'
                user_display_name:
                    type: string
                user_email:
                    type: string
                user_id:
                    type: string
                user_photo_url:
                    type: string
                user_signature:
                    type: string
            required:
                - user_id
                - user_email
                - is_admin
                - active_organization_id
                - organizations
                - gram_account_type
        Integration:
            type: object
            properties:
                package_description:
                    type: string
                package_description_raw:
                    type: string
                package_id:
                    type: string
                package_image_asset_id:
                    type: string
                package_keywords:
                    type: array
                    items:
                        type: string
                package_name:
                    type: string
                package_summary:
                    type: string
                package_title:
                    type: string
                package_url:
                    type: string
                tool_names:
                    type: array
                    items:
                        type: string
                version:
                    type: string
                    description: The latest version of the integration
                version_created_at:
                    type: string
                    format: date-time
                versions:
                    type: array
                    items:
                        $ref: '#/components/schemas/IntegrationVersion'
            required:
                - package_id
                - package_name
                - package_title
                - package_summary
                - version
                - version_created_at
                - tool_names
        IntegrationEntry:
            type: object
            properties:
                package_id:
                    type: string
                package_image_asset_id:
                    type: string
                package_keywords:
                    type: array
                    items:
                        type: string
                package_name:
                    type: string
                package_summary:
                    type: string
                package_title:
                    type: string
                package_url:
                    type: string
                tool_names:
                    type: array
                    items:
                        type: string
                version:
                    type: string
                version_created_at:
                    type: string
                    format: date-time
            required:
                - package_id
                - package_name
                - version
                - version_created_at
                - tool_names
        IntegrationVersion:
            type: object
            properties:
                created_at:
                    type: string
                    format: date-time
                version:
                    type: string
            required:
                - version
                - created_at
        Key:
            type: object
            properties:
                created_at:
                    type: string
                    description: The creation date of the key.
                    format: date-time
                created_by_user_id:
                    type: string
                    description: The ID of the user who created this key
                id:
                    type: string
                    description: The ID of the key
                key:
                    type: string
                    description: The token of the api key (only returned on key creation)
                key_prefix:
                    type: string
                    description: The store prefix of the api key for recognition
                name:
                    type: string
                    description: The name of the key
                organization_id:
                    type: string
                    description: The organization ID this key belongs to
                project_id:
                    type: string
                    description: The optional project ID this key is scoped to
                scopes:
                    type: array
                    items:
                        type: string
                    description: List of permission scopes for this key
                updated_at:
                    type: string
                    description: When the key was last updated.
                    format: date-time
            required:
                - id
                - organization_id
                - created_by_user_id
                - name
                - key_prefix
                - scopes
                - created_at
                - updated_at
        ListAssetsResult:
            type: object
            properties:
                assets:
                    type: array
                    items:
                        $ref: '#/components/schemas/Asset'
                    description: The list of assets
            required:
                - assets
        ListChatsResult:
            type: object
            properties:
                chats:
                    type: array
                    items:
                        $ref: '#/components/schemas/ChatOverview'
                    description: The list of chats
            required:
                - chats
        ListDeploymentForm:
            type: object
            properties:
                cursor:
                    type: string
                    description: The cursor to fetch results from
        ListDeploymentResult:
            type: object
            properties:
                items:
                    type: array
                    items:
                        $ref: '#/components/schemas/DeploymentSummary'
                    description: A list of deployments
                next_cursor:
                    type: string
                    description: The cursor to fetch results from
                    example: 01jp3f054qc02gbcmpp0qmyzed
            required:
                - items
        ListEnvironmentsResult:
            type: object
            properties:
                environments:
                    type: array
                    items:
                        $ref: '#/components/schemas/Environment'
            description: Result type for listing environments
            required:
                - environments
        ListIntegrationsForm:
            type: object
            properties:
                keywords:
                    type: array
                    items:
                        type: string
                        maxLength: 20
                    description: Keywords to filter integrations by
        ListIntegrationsResult:
            type: object
            properties:
                integrations:
                    type: array
                    items:
                        $ref: '#/components/schemas/IntegrationEntry'
                    description: List of available third-party integrations
        ListKeysResult:
            type: object
            properties:
                keys:
                    type: array
                    items:
                        $ref: '#/components/schemas/Key'
            required:
                - keys
        ListPackagesResult:
            type: object
            properties:
                packages:
                    type: array
                    items:
                        $ref: '#/components/schemas/Package'
                    description: The list of packages
            required:
                - packages
        ListProjectsPayload:
            type: object
            properties:
                apikey_token:
                    type: string
                organization_id:
                    type: string
                    description: The ID of the organization to list projects for
                session_token:
                    type: string
            required:
                - organization_id
        ListProjectsResult:
            type: object
            properties:
                projects:
                    type: array
                    items:
                        $ref: '#/components/schemas/ProjectEntry'
                    description: The list of projects
            required:
                - projects
        ListPromptTemplatesResult:
            type: object
            properties:
                templates:
                    type: array
                    items:
                        $ref: '#/components/schemas/PromptTemplate'
                    description: The created prompt template
            required:
                - templates
        ListToolsResult:
            type: object
            properties:
                next_cursor:
                    type: string
                    description: The cursor to fetch results from
                tools:
                    type: array
                    items:
                        $ref: '#/components/schemas/HTTPToolDefinition'
                    description: The list of tools
            required:
                - tools
        ListToolsetsResult:
            type: object
            properties:
                toolsets:
                    type: array
                    items:
                        $ref: '#/components/schemas/ToolsetEntry'
                    description: The list of toolsets
            required:
                - toolsets
        ListVariationsResult:
            type: object
            properties:
                variations:
                    type: array
                    items:
                        $ref: '#/components/schemas/ToolVariation'
            required:
                - variations
        ListVersionsForm:
            type: object
            properties:
                name:
                    type: string
                    description: The name of the package
            required:
                - name
        ListVersionsResult:
            type: object
            properties:
                package:
                    $ref: '#/components/schemas/Package'
                versions:
                    type: array
                    items:
                        $ref: '#/components/schemas/PackageVersion'
            required:
                - package
                - versions
        NotModified:
            type: object
            properties:
                location:
                    type: string
            required:
                - location
        OAuthProxyProvider:
            type: object
            properties:
                authorization_endpoint:
                    type: string
                    description: The authorization endpoint URL
                created_at:
                    type: string
                    description: When the OAuth proxy provider was created.
                    format: date-time
                grant_types_supported:
                    type: array
                    items:
                        type: string
                    description: The grant types supported by this provider
                id:
                    type: string
                    description: The ID of the OAuth proxy provider
                scopes_supported:
                    type: array
                    items:
                        type: string
                    description: The OAuth scopes supported by this provider
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                token_endpoint:
                    type: string
                    description: The token endpoint URL
                token_endpoint_auth_methods_supported:
                    type: array
                    items:
                        type: string
                    description: The token endpoint auth methods supported by this provider
                updated_at:
                    type: string
                    description: When the OAuth proxy provider was last updated.
                    format: date-time
            required:
                - id
                - slug
                - authorization_endpoint
                - token_endpoint
                - created_at
                - updated_at
        OAuthProxyServer:
            type: object
            properties:
                created_at:
                    type: string
                    description: When the OAuth proxy server was created.
                    format: date-time
                id:
                    type: string
                    description: The ID of the OAuth proxy server
                oauth_proxy_providers:
                    type: array
                    items:
                        $ref: '#/components/schemas/OAuthProxyProvider'
                    description: The OAuth proxy providers for this server
                project_id:
                    type: string
                    description: The project ID this OAuth proxy server belongs to
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                updated_at:
                    type: string
                    description: When the OAuth proxy server was last updated.
                    format: date-time
            required:
                - id
                - project_id
                - slug
                - created_at
                - updated_at
        OpenAPIv3DeploymentAsset:
            type: object
            properties:
                asset_id:
                    type: string
                    description: The ID of the uploaded asset.
                id:
                    type: string
                    description: The ID of the deployment asset.
                name:
                    type: string
                    description: The name to give the document as it will be displayed in UIs.
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            required:
                - id
                - asset_id
                - name
                - slug
        OrganizationEntry:
            type: object
            properties:
                id:
                    type: string
                name:
                    type: string
                projects:
                    type: array
                    items:
                        $ref: '#/components/schemas/ProjectEntry'
                slug:
                    type: string
                sso_connection_id:
                    type: string
                user_workspace_slugs:
                    type: array
                    items:
                        type: string
            required:
                - id
                - name
                - slug
                - projects
        Package:
            type: object
            properties:
                created_at:
                    type: string
                    description: The creation date of the package
                    format: date-time
                deleted_at:
                    type: string
                    description: The deletion date of the package
                    format: date-time
                description:
                    type: string
                    description: The description of the package. This contains HTML content.
                description_raw:
                    type: string
                    description: The unsanitized, user-supplied description of the package. Limited markdown syntax is supported.
                id:
                    type: string
                    description: The ID of the package
                image_asset_id:
                    type: string
                    description: The asset ID of the image to show for this package
                keywords:
                    type: array
                    items:
                        type: string
                    description: The keywords of the package
                latest_version:
                    type: string
                    description: The latest version of the package
                name:
                    type: string
                    description: The name of the package
                organization_id:
                    type: string
                    description: The ID of the organization that owns the package
                project_id:
                    type: string
                    description: The ID of the project that owns the package
                summary:
                    type: string
                    description: The summary of the package
                title:
                    type: string
                    description: The title of the package
                updated_at:
                    type: string
                    description: The last update date of the package
                    format: date-time
                url:
                    type: string
                    description: External URL for the package owner
            required:
                - id
                - name
                - project_id
                - organization_id
                - created_at
                - updated_at
        PackageVersion:
            type: object
            properties:
                created_at:
                    type: string
                    description: The creation date of the package version
                    format: date-time
                deployment_id:
                    type: string
                    description: The ID of the deployment that the version belongs to
                id:
                    type: string
                    description: The ID of the package version
                package_id:
                    type: string
                    description: The ID of the package that the version belongs to
                semver:
                    type: string
                    description: The semantic version value
                visibility:
                    type: string
                    description: The visibility of the package version
            required:
                - id
                - package_id
                - deployment_id
                - visibility
                - semver
                - created_at
        PeriodUsage:
            type: object
            properties:
                actual_enabled_server_count:
                    type: integer
                    description: The number of servers enabled at the time of the request
                    format: int64
                max_servers:
                    type: integer
                    description: The maximum number of servers allowed
                    format: int64
                max_tool_calls:
                    type: integer
                    description: The maximum number of tool calls allowed
                    format: int64
                servers:
                    type: integer
                    description: The number of servers used, according to the Polar meter
                    format: int64
                tool_calls:
                    type: integer
                    description: The number of tool calls used
                    format: int64
            required:
                - tool_calls
                - max_tool_calls
                - servers
                - max_servers
                - actual_enabled_server_count
        Project:
            type: object
            properties:
                created_at:
                    type: string
                    description: The creation date of the project.
                    format: date-time
                id:
                    type: string
                    description: The ID of the project
                logo_asset_id:
                    type: string
                    description: The ID of the logo asset for the project
                name:
                    type: string
                    description: The name of the project
                organization_id:
                    type: string
                    description: The ID of the organization that owns the project
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                updated_at:
                    type: string
                    description: The last update date of the project.
                    format: date-time
            required:
                - id
                - name
                - slug
                - organization_id
                - created_at
                - updated_at
        ProjectEntry:
            type: object
            properties:
                id:
                    type: string
                    description: The ID of the project
                name:
                    type: string
                    description: The name of the project
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            required:
                - id
                - name
                - slug
        PromptTemplate:
            type: object
            properties:
                arguments:
                    type: string
                    description: The JSON Schema defining the placeholders found in the prompt template
                    format: json
                created_at:
                    type: string
                    description: The creation date of the prompt template.
                    format: date-time
                description:
                    type: string
                    description: The description of the prompt template
                engine:
                    type: string
                    description: The template engine
                    enum:
                        - mustache
                history_id:
                    type: string
                    description: The revision tree ID for the prompt template
                id:
                    type: string
                    description: The ID of the prompt template
                kind:
                    type: string
                    description: The kind of prompt the template is used for
                    enum:
                        - prompt
                        - higher_order_tool
                name:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                predecessor_id:
                    type: string
                    description: The previous version of the prompt template to use as predecessor
                prompt:
                    type: string
                    description: The template content
                tools_hint:
                    type: array
                    items:
                        type: string
                    description: The suggested tool names associated with the prompt template
                    maxItems: 20
                updated_at:
                    type: string
                    description: The last update date of the prompt template.
                    format: date-time
            required:
                - id
                - history_id
                - name
                - prompt
                - engine
                - kind
                - tools_hint
                - created_at
                - updated_at
        PromptTemplateEntry:
            type: object
            properties:
                id:
                    type: string
                    description: The ID of the prompt template
                name:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            required:
                - id
                - name
        PublishPackageForm:
            type: object
            properties:
                deployment_id:
                    type: string
                    description: The deployment ID to associate with the package version
                name:
                    type: string
                    description: The name of the package
                version:
                    type: string
                    description: The new semantic version of the package to publish
                visibility:
                    type: string
                    description: The visibility of the package version
                    enum:
                        - public
                        - private
            required:
                - name
                - version
                - deployment_id
                - visibility
        PublishPackageResult:
            type: object
            properties:
                package:
                    $ref: '#/components/schemas/Package'
                version:
                    $ref: '#/components/schemas/PackageVersion'
            required:
                - package
                - version
        RedeployRequestBody:
            type: object
            properties:
                deployment_id:
                    type: string
                    description: The ID of the deployment to redeploy.
            required:
                - deployment_id
        RedeployResult:
            type: object
            properties:
                deployment:
                    $ref: '#/components/schemas/Deployment'
        RegisterRequestBody:
            type: object
            properties:
                org_name:
                    type: string
                    description: The name of the org to register
            required:
                - org_name
        RenderTemplateByIDRequestBody:
            type: object
            properties:
                arguments:
                    type: object
                    description: The input data to render the template with
                    additionalProperties: true
            required:
                - arguments
        RenderTemplateRequestBody:
            type: object
            properties:
                arguments:
                    type: object
                    description: The input data to render the template with
                    additionalProperties: true
                engine:
                    type: string
                    description: The template engine
                    enum:
                        - mustache
                kind:
                    type: string
                    description: The kind of prompt the template is used for
                    enum:
                        - prompt
                        - higher_order_tool
                prompt:
                    type: string
                    description: The template content to render
            required:
                - prompt
                - arguments
                - engine
                - kind
        RenderTemplateResult:
            type: object
            properties:
                prompt:
                    type: string
                    description: The rendered prompt
            required:
                - prompt
        ResponseFilter:
            type: object
            properties:
                content_types:
                    type: array
                    items:
                        type: string
                    description: Content types to filter for
                status_codes:
                    type: array
                    items:
                        type: string
                    description: Status codes to filter for
                type:
                    type: string
                    description: Response filter type for the tool
            description: Response filter metadata for the tool
            required:
                - type
                - status_codes
                - content_types
        SecurityVariable:
            type: object
            properties:
                bearer_format:
                    type: string
                    description: The bearer format
                env_variables:
                    type: array
                    items:
                        type: string
                    description: The environment variables
                in_placement:
                    type: string
                    description: Where the security token is placed
                name:
                    type: string
                    description: The name of the security scheme
                oauth_flows:
                    type: string
                    description: The OAuth flows
                    format: binary
                oauth_types:
                    type: array
                    items:
                        type: string
                    description: The OAuth types
                scheme:
                    type: string
                    description: The security scheme
                type:
                    type: string
                    description: The type of security
            required:
                - name
                - in_placement
                - scheme
                - env_variables
        ServeImageForm:
            type: object
            properties:
                apikey_token:
                    type: string
                id:
                    type: string
                    description: The ID of the asset to serve
                session_token:
                    type: string
            required:
                - id
        ServeImageResult:
            type: object
            properties:
                content_length:
                    type: integer
                    format: int64
                content_type:
                    type: string
                last_modified:
                    type: string
            required:
                - content_type
                - content_length
                - last_modified
        ServeOpenAPIv3Form:
            type: object
            properties:
                apikey_token:
                    type: string
                id:
                    type: string
                    description: The ID of the asset to serve
                project_id:
                    type: string
                    description: The procect ID that the asset belongs to
                session_token:
                    type: string
            required:
                - id
                - project_id
        ServeOpenAPIv3Result:
            type: object
            properties:
                content_length:
                    type: integer
                    format: int64
                content_type:
                    type: string
                last_modified:
                    type: string
            required:
                - content_type
                - content_length
                - last_modified
        ServerVariable:
            type: object
            properties:
                description:
                    type: string
                    description: Description of the server variable
                env_variables:
                    type: array
                    items:
                        type: string
                    description: The environment variables
            required:
                - description
                - env_variables
        SetProjectLogoForm:
            type: object
            properties:
                asset_id:
                    type: string
                    description: The ID of the asset
            required:
                - asset_id
        SetProjectLogoResult:
            type: object
            properties:
                project:
                    $ref: '#/components/schemas/Project'
            required:
                - project
        TierLimits:
            type: object
            properties:
                add_on_bullets:
                    type: array
                    items:
                        type: string
                    description: Add-on items bullets of the tier (optional)
                base_price:
                    type: number
                    description: The base price for the tier
                    format: double
                feature_bullets:
                    type: array
                    items:
                        type: string
                    description: Key feature bullets of the tier
                included_bullets:
                    type: array
                    items:
                        type: string
                    description: Included items bullets of the tier
                included_credits:
                    type: integer
                    description: The number of credits included in the tier for playground and other dashboard activities
                    format: int64
                included_servers:
                    type: integer
                    description: The number of servers included in the tier
                    format: int64
                included_tool_calls:
                    type: integer
                    description: The number of tool calls included in the tier
                    format: int64
                price_per_additional_credit:
                    type: number
                    description: The price per additional credit
                    format: double
                price_per_additional_server:
                    type: number
                    description: The price per additional server
                    format: double
                price_per_additional_tool_call:
                    type: number
                    description: The price per additional tool call
                    format: double
            required:
                - base_price
                - included_tool_calls
                - included_servers
                - included_credits
                - price_per_additional_tool_call
                - price_per_additional_server
                - price_per_additional_credit
                - feature_bullets
                - included_bullets
        ToolVariation:
            type: object
            properties:
                confirm:
                    type: string
                    description: The confirmation mode for the tool variation
                confirm_prompt:
                    type: string
                    description: The confirmation prompt for the tool variation
                created_at:
                    type: string
                    description: The creation date of the tool variation
                description:
                    type: string
                    description: The description of the tool variation
                group_id:
                    type: string
                    description: The ID of the tool variation group
                id:
                    type: string
                    description: The ID of the tool variation
                name:
                    type: string
                    description: The name of the tool variation
                src_tool_name:
                    type: string
                    description: The name of the source tool
                summarizer:
                    type: string
                    description: The summarizer of the tool variation
                summary:
                    type: string
                    description: The summary of the tool variation
                tags:
                    type: array
                    items:
                        type: string
                    description: The tags of the tool variation
                updated_at:
                    type: string
                    description: The last update date of the tool variation
            required:
                - id
                - group_id
                - src_tool_name
                - created_at
                - updated_at
        Toolset:
            type: object
            properties:
                created_at:
                    type: string
                    description: When the toolset was created.
                    format: date-time
                custom_domain_id:
                    type: string
                    description: The ID of the custom domain to use for the toolset
                default_environment_slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                description:
                    type: string
                    description: Description of the toolset
                external_oauth_server:
                    $ref: '#/components/schemas/ExternalOAuthServer'
                http_tools:
                    type: array
                    items:
                        $ref: '#/components/schemas/HTTPToolDefinition'
                    description: The HTTP tools in this toolset
                id:
                    type: string
                    description: The ID of the toolset
                mcp_enabled:
                    type: boolean
                    description: Whether the toolset is enabled for MCP
                mcp_is_public:
                    type: boolean
                    description: Whether the toolset is public in MCP
                mcp_slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                name:
                    type: string
                    description: The name of the toolset
                oauth_proxy_server:
                    $ref: '#/components/schemas/OAuthProxyServer'
                organization_id:
                    type: string
                    description: The organization ID this toolset belongs to
                project_id:
                    type: string
                    description: The project ID this toolset belongs to
                prompt_templates:
                    type: array
                    items:
                        $ref: '#/components/schemas/PromptTemplate'
                    description: The prompt templates in this toolset
                security_variables:
                    type: array
                    items:
                        $ref: '#/components/schemas/SecurityVariable'
                    description: The security variables that are relevant to the toolset
                server_variables:
                    type: array
                    items:
                        $ref: '#/components/schemas/ServerVariable'
                    description: The server variables that are relevant to the toolset
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                updated_at:
                    type: string
                    description: When the toolset was last updated.
                    format: date-time
            required:
                - id
                - project_id
                - organization_id
                - name
                - slug
                - http_tools
                - prompt_templates
                - created_at
                - updated_at
        ToolsetEntry:
            type: object
            properties:
                created_at:
                    type: string
                    description: When the toolset was created.
                    format: date-time
                custom_domain_id:
                    type: string
                    description: The ID of the custom domain to use for the toolset
                default_environment_slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                description:
                    type: string
                    description: Description of the toolset
                http_tools:
                    type: array
                    items:
                        $ref: '#/components/schemas/HTTPToolDefinitionEntry'
                    description: The HTTP tools in this toolset
                id:
                    type: string
                    description: The ID of the toolset
                mcp_enabled:
                    type: boolean
                    description: Whether the toolset is enabled for MCP
                mcp_is_public:
                    type: boolean
                    description: Whether the toolset is public in MCP
                mcp_slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                name:
                    type: string
                    description: The name of the toolset
                organization_id:
                    type: string
                    description: The organization ID this toolset belongs to
                project_id:
                    type: string
                    description: The project ID this toolset belongs to
                prompt_templates:
                    type: array
                    items:
                        $ref: '#/components/schemas/PromptTemplateEntry'
                    description: The prompt templates in this toolset
                security_variables:
                    type: array
                    items:
                        $ref: '#/components/schemas/SecurityVariable'
                    description: The security variables that are relevant to the toolset
                server_variables:
                    type: array
                    items:
                        $ref: '#/components/schemas/ServerVariable'
                    description: The server variables that are relevant to the toolset
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                updated_at:
                    type: string
                    description: When the toolset was last updated.
                    format: date-time
            required:
                - id
                - project_id
                - organization_id
                - name
                - slug
                - http_tools
                - prompt_templates
                - created_at
                - updated_at
        UpdateEnvironmentForm:
            type: object
            properties:
                description:
                    type: string
                    description: The description of the environment
                entries_to_remove:
                    type: array
                    items:
                        type: string
                    description: List of environment entry names to remove
                entries_to_update:
                    type: array
                    items:
                        $ref: '#/components/schemas/EnvironmentEntryInput'
                    description: List of environment entries to update or create
                name:
                    type: string
                    description: The name of the environment
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            description: Form for updating an environment
            required:
                - slug
                - entries_to_update
                - entries_to_remove
        UpdateEnvironmentRequestBody:
            type: object
            properties:
                description:
                    type: string
                    description: The description of the environment
                entries_to_remove:
                    type: array
                    items:
                        type: string
                    description: List of environment entry names to remove
                entries_to_update:
                    type: array
                    items:
                        $ref: '#/components/schemas/EnvironmentEntryInput'
                    description: List of environment entries to update or create
                name:
                    type: string
                    description: The name of the environment
            required:
                - entries_to_update
                - entries_to_remove
        UpdatePackageForm:
            type: object
            properties:
                description:
                    type: string
                    description: The description of the package. Limited markdown syntax is supported.
                    maxLength: 10000
                id:
                    type: string
                    description: The id of the package to update
                    maxLength: 50
                image_asset_id:
                    type: string
                    description: The asset ID of the image to show for this package
                    maxLength: 50
                keywords:
                    type: array
                    items:
                        type: string
                    description: The keywords of the package
                    maxItems: 5
                summary:
                    type: string
                    description: The summary of the package
                    maxLength: 80
                title:
                    type: string
                    description: The title of the package
                    maxLength: 100
                url:
                    type: string
                    description: External URL for the package owner
                    maxLength: 100
            required:
                - id
        UpdatePackageResult:
            type: object
            properties:
                package:
                    $ref: '#/components/schemas/Package'
            required:
                - package
        UpdatePromptTemplateForm:
            type: object
            properties:
                arguments:
                    type: string
                    description: The JSON Schema defining the placeholders found in the prompt template
                    format: json
                description:
                    type: string
                    description: The description of the prompt template
                engine:
                    type: string
                    description: The template engine
                    enum:
                        - mustache
                id:
                    type: string
                    description: The ID of the prompt template to update
                kind:
                    type: string
                    description: The kind of prompt the template is used for
                    enum:
                        - prompt
                        - higher_order_tool
                prompt:
                    type: string
                    description: The template content
                tools_hint:
                    type: array
                    items:
                        type: string
                    description: The suggested tool names associated with the prompt template
                    maxItems: 20
            required:
                - id
        UpdatePromptTemplateResult:
            type: object
            properties:
                template:
                    $ref: '#/components/schemas/PromptTemplate'
            required:
                - template
        UpdateSlackConnectionRequestBody:
            type: object
            properties:
                default_toolset_slug:
                    type: string
                    description: The default toolset slug for this Slack connection
            required:
                - default_toolset_slug
        UpdateToolsetForm:
            type: object
            properties:
                custom_domain_id:
                    type: string
                    description: The ID of the custom domain to use for the toolset
                default_environment_slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                description:
                    type: string
                    description: The new description of the toolset
                http_tool_names:
                    type: array
                    items:
                        type: string
                    description: List of HTTP tool names to include
                mcp_enabled:
                    type: boolean
                    description: Whether the toolset is enabled for MCP
                mcp_is_public:
                    type: boolean
                    description: Whether the toolset is public in MCP
                mcp_slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                name:
                    type: string
                    description: The new name of the toolset
                project_slug_input:
                    type: string
                prompt_template_names:
                    type: array
                    items:
                        type: string
                    description: List of prompt template names to include
                slug:
                    type: string
                    description: A short url-friendly label that uniquely identifies a resource.
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
            required:
                - slug
        UpdateToolsetRequestBody:
            type: object
            properties:
                custom_domain_id:
                    type: string
                    description: The ID of the custom domain to use for the toolset
                default_environment_slug:
                    type: string
                    description: The slug of the environment to use as the default for the toolset
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                description:
                    type: string
                    description: The new description of the toolset
                http_tool_names:
                    type: array
                    items:
                        type: string
                    description: List of HTTP tool names to include
                mcp_enabled:
                    type: boolean
                    description: Whether the toolset is enabled for MCP
                mcp_is_public:
                    type: boolean
                    description: Whether the toolset is public in MCP
                mcp_slug:
                    type: string
                    description: The slug of the MCP to use for the toolset
                    pattern: ^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?$
                    maxLength: 40
                name:
                    type: string
                    description: The new name of the toolset
                prompt_template_names:
                    type: array
                    items:
                        type: string
                    description: List of prompt template names to include
        UploadFunctionsForm:
            type: object
            properties:
                apikey_token:
                    type: string
                content_length:
                    type: integer
                    format: int64
                content_type:
                    type: string
                project_slug_input:
                    type: string
                session_token:
                    type: string
            required:
                - content_type
                - content_length
        UploadFunctionsResult:
            type: object
            properties:
                asset:
                    $ref: '#/components/schemas/Asset'
            required:
                - asset
        UploadImageForm:
            type: object
            properties:
                apikey_token:
                    type: string
                content_length:
                    type: integer
                    format: int64
                content_type:
                    type: string
                project_slug_input:
                    type: string
                session_token:
                    type: string
            required:
                - content_type
                - content_length
        UploadImageResult:
            type: object
            properties:
                asset:
                    $ref: '#/components/schemas/Asset'
            required:
                - asset
        UploadOpenAPIv3Form:
            type: object
            properties:
                apikey_token:
                    type: string
                content_length:
                    type: integer
                    format: int64
                content_type:
                    type: string
                project_slug_input:
                    type: string
                session_token:
                    type: string
            required:
                - content_type
                - content_length
        UploadOpenAPIv3Result:
            type: object
            properties:
                asset:
                    $ref: '#/components/schemas/Asset'
            required:
                - asset
        UpsertGlobalToolVariationForm:
            type: object
            properties:
                confirm:
                    type: string
                    description: The confirmation mode for the tool variation
                    enum:
                        - always
                        - never
                        - session
                confirm_prompt:
                    type: string
                    description: The confirmation prompt for the tool variation
                description:
                    type: string
                    description: The description of the tool variation
                name:
                    type: string
                    description: The name of the tool variation
                src_tool_name:
                    type: string
                    description: The name of the source tool
                summarizer:
                    type: string
                    description: The summarizer of the tool variation
                summary:
                    type: string
                    description: The summary of the tool variation
                tags:
                    type: array
                    items:
                        type: string
                    description: The tags of the tool variation
            required:
                - src_tool_name
        UpsertGlobalToolVariationResult:
            type: object
            properties:
                variation:
                    $ref: '#/components/schemas/ToolVariation'
            required:
                - variation
        UsageTiers:
            type: object
            properties:
                enterprise:
                    $ref: '#/components/schemas/TierLimits'
                free:
                    $ref: '#/components/schemas/TierLimits'
                pro:
                    $ref: '#/components/schemas/TierLimits'
            required:
                - free
                - pro
                - enterprise
    securitySchemes:
        apikey_header_Gram-Key:
            type: apiKey
            description: key based auth.
            name: Gram-Key
            in: header
        project_slug_header_Gram-Project:
            type: apiKey
            description: project slug header auth.
            name: Gram-Project
            in: header
        project_slug_query_project_slug:
            type: apiKey
            description: project slug header auth.
            name: project_slug
            in: query
        session_header_Gram-Session:
            type: apiKey
            description: Session based auth. By cookie or header.
            name: Gram-Session
            in: header
tags:
    - name: assets
      description: Manages assets used by Gram projects.
    - name: auth
      description: Managed auth for gram producers and dashboard.
    - name: chat
      description: Managed chats for gram AI consumers.
    - name: deployments
      description: Manages deployments of tools from upstream sources.
    - name: domains
      description: Manage custom domains for gram.
    - name: environments
      description: Managing toolset environments.
    - name: instances
      description: Consumer APIs for interacting with all relevant data for an instance of a toolset and environment.
    - name: integrations
      description: Explore third-party tools in Gram.
    - name: keys
      description: Managing system api keys.
    - name: packages
      description: Manages packages in Gram.
    - name: projects
      description: Manages projects in Gram.
    - name: slack
      description: Auth and interactions for the Gram Slack App.
    - name: templates
      description: Manages re-usable prompt templates and higher-order tools for a project.
    - name: tools
      description: Dashboard API for interacting with tools.
    - name: toolsets
      description: Managed toolsets for gram AI consumers.
    - name: usage
      description: Read usage for gram.
    - name: variations
      description: Manage variations of tools.
