Prefect Workspace Invitations API

Manage workspace invitations.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/prefect-workspace-invitations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

prefect-workspace-invitations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Prefect Cloud Account Billing Workspace Invitations API
  description: Prefect Cloud REST API documentation.
  version: 0.8.4
tags:
- name: Workspace Invitations
  description: Manage workspace invitations.
  externalDocs:
    description: 'Manage workspaces: control access'
    url: https://docs.prefect.io/v3/manage/cloud/workspaces#control-access
paths:
  /api/accounts/{account_id}/workspaces/{workspace_id}/invitations/:
    post:
      tags:
      - Workspace Invitations
      summary: Create Workspace Invitation
      description: 'Invite a user to a workspace.

        Any PENDING invitations for the same user to the workspace will be revoked.


        Required account permissions: `create:workspace_invitation`'
      operationId: create_workspace_invitation_api_accounts__account_id__workspaces__workspace_id__invitations__post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Account Id
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceInvitationCreate'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceInvitationReadResponse'
              examples:
                created:
                  summary: Invite created
                  value:
                    id: 8c1a152b-4f59-4618-8dfc-9ed808950ddb
                    email: user@test.io
                    account_id: 0bcad7b7-dff6-470f-bddb-345d16ba38e9
                    account_role_id: f53c213d-ba1f-4a7d-a01f-01098fa8c3b9
                    status: PENDING
                    expiration: '2026-05-08T22:16:52.772815Z'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/accounts/{account_id}/workspaces/{workspace_id}/invitations/{id}:
    get:
      tags:
      - Workspace Invitations
      summary: Read Workspace Invitation
      description: 'Get an invitation by id


        Required account permissions: `read:workspace_invitation`'
      operationId: read_workspace_invitation_api_accounts__account_id__workspaces__workspace_id__invitations__id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Account Id
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceInvitationReadResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/accounts/{account_id}/workspaces/{workspace_id}/invitations/filter:
    post:
      tags:
      - Workspace Invitations
      summary: Read Workspace Invitations
      description: 'Query for invitations


        Required account permissions: `read:workspace_invitation`'
      operationId: read_workspace_invitations_api_accounts__account_id__workspaces__workspace_id__invitations_filter_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Account Id
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_read_workspace_invitations_api_accounts__account_id__workspaces__workspace_id__invitations_filter_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkspaceInvitationReadResponse'
                title: Response Read Workspace Invitations Api Accounts  Account Id  Workspaces  Workspace Id  Invitations Filter Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/accounts/{account_id}/workspaces/{workspace_id}/invitations/{id}/revoke:
    post:
      tags:
      - Workspace Invitations
      summary: Revoke Workspace Invitation
      description: 'Delete an invitation by id


        Required account permissions: `update:workspace_invitation`'
      operationId: revoke_workspace_invitation_api_accounts__account_id__workspaces__workspace_id__invitations__id__revoke_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Account Id
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    InvitationFilterExpiration:
      properties:
        before_:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Before
          description: Only include invitations expiring at or before this time
        after_:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: After
          description: Only include invitations expiring at or after this time
      additionalProperties: false
      type: object
      title: InvitationFilterExpiration
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    InvitationStatus:
      type: string
      enum:
      - ACCEPTED
      - PENDING
      - REJECTED
      - REVOKED
      title: InvitationStatus
      description: Enumeration of Invitation status
    WorkspaceInvitationCreate:
      properties:
        email:
          type: string
          format: email
          title: Email
          description: The email of the user to invite
      additionalProperties: false
      type: object
      required:
      - email
      title: WorkspaceInvitationCreate
      description: Data used by the api to create an invitation
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    InvitationFilterStatus:
      properties:
        any_:
          anyOf:
          - items:
              $ref: '#/components/schemas/InvitationStatus'
            type: array
          - type: 'null'
          title: Any
          description: A list of invitation statuses to include
      additionalProperties: false
      type: object
      title: InvitationFilterStatus
    InvitationFilterEmail:
      properties:
        any_:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Any
          description: A list of invitation emails to include
        like_:
          anyOf:
          - type: string
          - type: 'null'
          title: Like
          description: A case-insensitive partial match. For example,  passing 'marvin' will match 'marvin-ops', 'ceo-marvin', and 'marvin-engineering'.
          examples:
          - marvin
      additionalProperties: false
      type: object
      title: InvitationFilterEmail
    WorkspaceInvitationReadResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        created:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created
        updated:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated
        email:
          type: string
          format: email
          title: Email
          description: The email of the user to invite
        account_id:
          type: string
          format: uuid
          title: Account Id
          description: The account id
        account_role_id:
          type: string
          format: uuid
          title: Account Role Id
          description: The role id to assign the user
        workspace_id:
          type: string
          format: uuid
          title: Workspace Id
          description: The workspace id
        workspace_role_id:
          type: string
          format: uuid
          title: Workspace Role Id
          description: The workspace role id to assign the user
        status:
          $ref: '#/components/schemas/InvitationStatus'
          description: The invitation status
        expiration:
          type: string
          format: date-time
          title: Expiration
          description: The expiration time of the invite
      additionalProperties: false
      type: object
      required:
      - email
      - account_id
      - account_role_id
      - workspace_id
      - workspace_role_id
      - status
      - expiration
      title: WorkspaceInvitationReadResponse
      description: Data returned by the api when reading a workspace invitation
    Body_read_workspace_invitations_api_accounts__account_id__workspaces__workspace_id__invitations_filter_post:
      properties:
        workspace_invitations:
          anyOf:
          - $ref: '#/components/schemas/InvitationFilter'
          - type: 'null'
        limit:
          type: integer
          maximum: 200.0
          minimum: 0.0
          title: Limit
          default: 200
        offset:
          type: integer
          minimum: 0.0
          title: Offset
          default: 0
      type: object
      title: Body_read_workspace_invitations_api_accounts__account_id__workspaces__workspace_id__invitations_filter_post
    InvitationFilter:
      properties:
        status:
          anyOf:
          - $ref: '#/components/schemas/InvitationFilterStatus'
          - type: 'null'
          description: Filter criteria for Invitation.status
        expiration:
          anyOf:
          - $ref: '#/components/schemas/InvitationFilterExpiration'
          - type: 'null'
          description: Filter criteria for Invitation.expiration
        email:
          anyOf:
          - $ref: '#/components/schemas/InvitationFilterEmail'
          - type: 'null'
          description: Filter criteria for Invitation.email
      additionalProperties: false
      type: object
      title: InvitationFilter