Unito Workspaces API

The Workspaces API from Unito — 2 operation(s) for workspaces.

Operations 3

GET /embeds/{embedId}/workspaces List all workspaces #
GET /embeds/{embedId}/workspaces/{externalWorkspaceId} Get a workspace #
PUT /embeds/{embedId}/workspaces/{externalWorkspaceId} Create or replace a workspace #

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/unito-workspaces-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

unito-workspaces-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Unito Embed Workspaces API
  version: 0.1.4
  description: 'Welcome to Unito Embed API documentation


    In order to be able to use that api, Unito must first create an embed entity for you and give you its api key.'
servers:
- url: http://localhost:9080
  description: local
- url: https://staging-api.unito.io
  description: staging
- url: https://api.unito.io
  description: production
  variables:
    embedId:
      default: wrike
security:
- ApiKeyAuth: []
tags:
- name: Workspaces
paths:
  /embeds/{embedId}/workspaces:
    get:
      summary: List all workspaces
      x-eov-operation-id: index
      x-eov-operation-handler: externalWorkspaces
      description: TBD
      tags:
      - Workspaces
      parameters:
      - $ref: '#/components/parameters/EmbedIdParam'
      responses:
        '200':
          $ref: '#/components/responses/AllWorkspaces'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      operationId: getEmbedsByEmbedIdWorkspaces
      x-operation-id-source: derived
  /embeds/{embedId}/workspaces/{externalWorkspaceId}:
    get:
      summary: Get a workspace
      x-eov-operation-id: show
      x-eov-operation-handler: externalWorkspaces
      description: TBD
      tags:
      - Workspaces
      parameters:
      - $ref: '#/components/parameters/EmbedIdParam'
      - $ref: '#/components/parameters/ExternalWorkspaceIdParam'
      responses:
        '200':
          $ref: '#/components/responses/Workspace'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      operationId: getEmbedsByEmbedIdWorkspacesByExternalWorkspaceId
      x-operation-id-source: derived
    put:
      summary: Create or replace a workspace
      x-eov-operation-id: put
      x-eov-operation-handler: externalWorkspaces
      description: 'Create or replace a workspace to control its access by users and provide metadata about the workspace to Unito.

        If there is no matching workspace, one will be created. If a matching workspace exists, it will be replaced. Therefore it is important to always provide the full set of properties and metadata on each call.

        It is possible to create workspaces using this endpoint before any user accesses the workspace through an embed. Until the workspace is first accessed by a user, the workspace will not be returned by any usage reports endpoints.'
      tags:
      - Workspaces
      parameters:
      - $ref: '#/components/parameters/EmbedIdParam'
      - $ref: '#/components/parameters/ExternalWorkspaceIdParam'
      requestBody:
        description: Information to create or replace your workspace
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                externalStatus:
                  $ref: '#/components/schemas/WorkspaceExternalStatus'
                externalData:
                  $ref: '#/components/schemas/WorkspaceExternalData'
      responses:
        '200':
          $ref: '#/components/responses/Workspace'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      operationId: putEmbedsByEmbedIdWorkspacesByExternalWorkspaceId
      x-operation-id-source: derived
components:
  responses:
    '429':
      description: Too Many Requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '500':
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '422':
      description: Unprocessable Entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Workspace:
      description: A workspace
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Workspace'
    '404':
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    AllWorkspaces:
      description: All workspaces
      content:
        application/json:
          schema:
            type: object
            required:
            - total
            - data
            properties:
              total:
                description: The number of workspaces associated to the embed.
                type: number
              data:
                description: An array containing a detailed view of all the worksapces associated to the embed.
                type: array
                items:
                  $ref: '#/components/schemas/Workspace'
    '401':
      description: 'Unauthorized: API key is missing or invalid'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    WorkspaceExternalStatus:
      description: Determines whether the worskpace is accessible and syncing data.
      type: string
      enum:
      - active
      - trialing
      - disabled
    Error:
      description: An error is returned from the API when a request fails to execute.
      type: object
      required:
      - message
      properties:
        message:
          description: The message of the error.
          type: string
        details:
          description: The details of the error.
          type: object
          additionalProperties: true
    WorkspaceExternalData:
      description: A set of name-value pairs needed by Unito as per agreement, typically for billing purposes.
      type: object
      additionalProperties: true
      example:
        sku: example-product-sku
    Workspace:
      description: A workspace
      type: object
      required:
      - id
      - externalWorkspaceId
      - externalStatus
      - externalData
      properties:
        id:
          type: number
        externalWorkspaceId:
          type: string
          description: 'A native unique identifier for the  account, organization or group

            that the user accessing the embed belongs to.

            Must match the workspace_id_ext passed in the iframe URL

            '
        externalStatus:
          $ref: '#/components/schemas/WorkspaceExternalStatus'
        externalData:
          $ref: '#/components/schemas/WorkspaceExternalData'
  parameters:
    ExternalWorkspaceIdParam:
      in: path
      name: externalWorkspaceId
      description: A native unique identifier for the account, organization or group that the user accessing the embed belongs to. Must match the workspace_id_ext passed in the iframe URL
      required: true
      schema:
        type: string
    EmbedIdParam:
      in: path
      name: embedId
      description: The identifier of the embed
      required: true
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key