Relativity Workspace API

The Workspace API from Relativity — 2 operation(s) for workspace.

Operations 4

GET /v1/workspace/{workspaceId} Read workspace
DELETE /v1/workspace/{workspaceId} Delete workspace
PUT /v1/workspace/{workspaceId} Update workspace
GET /v1/workspace/{workspaceId}/{includeMetadata}/{includeActions} Read workspace with optional metadata and actions

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/relativity-workspace-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

relativity-workspace-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Analytics.Conceptual.Service.Interfaces.Public.V1 AnnotationService Workspace API
  description: Analytics.Conceptual.Service.Interfaces.Public
  version: V1
servers:
- url: /Relativity.REST/api
  description: The URL prefix for all Kepler services
tags:
- name: Workspace
paths:
  /v1/workspace/{workspaceId}:
    get:
      tags:
      - Workspace
      summary: Read workspace
      description: Returns the workspace with its core properties (client, matter, resource pool, status, SQL server, SQL full-text language, audit fields, etc.). Returns 567 Workspace Temporarily Unavailable when the workspace is still upgrading — clients can safely retry after a short delay. Equivalent to `/v1/workspace/{workspaceId}/false/false` — use the parameterized form to additionally include the `Meta` field or the available `Actions` list.
      parameters:
      - name: workspaceId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/WorkspaceReadResponseV1'
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceReadResponseV1'
            text/json:
              schema:
                $ref: '#/components/schemas/WorkspaceReadResponseV1'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '567':
          description: Workspace Temporarily Unavailable
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
    delete:
      tags:
      - Workspace
      summary: Delete workspace
      description: Soft-deletes the workspace by moving it to the Recycle Bin. The workspace is hidden from normal views but can be recovered via `POST /v1/recycle-bin/workspace/{workspaceId}/recover` or permanently removed via `DELETE /v1/recycle-bin/workspace/{workspaceId}`.
      parameters:
      - name: workspaceId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '500':
          description: Internal Server Error
    put:
      tags:
      - Workspace
      summary: Update workspace
      description: Updates the workspace's properties. Include `lastModifiedOn` (timestamp of the last known version) to enforce optimistic concurrency — if the workspace has been modified since, the request fails with 409 Conflict and no changes are applied. On success, returns the updated workspace.
      parameters:
      - name: workspaceId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceRequestEnvelope'
          text/json:
            schema:
              $ref: '#/components/schemas/WorkspaceRequestEnvelope'
          application/*+json:
            schema:
              $ref: '#/components/schemas/WorkspaceRequestEnvelope'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/WorkspaceReadResponseV1'
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceReadResponseV1'
            text/json:
              schema:
                $ref: '#/components/schemas/WorkspaceReadResponseV1'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '409':
          description: Conflict
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
  /v1/workspace/{workspaceId}/{includeMetadata}/{includeActions}:
    get:
      tags:
      - Workspace
      summary: Read workspace with optional metadata and actions
      description: Returns the workspace with its core properties. `includeMetadata` and `includeActions` are required path segments (not query parameters), e.g. `/v1/workspace/{workspaceId}/true/false`. When `includeMetadata` is `true`, the response additionally contains the `Meta` field (list of unsupported and read-only properties on the workspace). When `includeActions` is `true`, the response contains the `Actions` list (REST operations the caller is permitted to perform on the workspace). Returns 567 Workspace Temporarily Unavailable when the workspace is still upgrading — clients can safely retry after a short delay.
      parameters:
      - name: workspaceId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: includeMetadata
        in: path
        required: true
        schema:
          type: boolean
      - name: includeActions
        in: path
        required: true
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/WorkspaceReadResponseV1'
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceReadResponseV1'
            text/json:
              schema:
                $ref: '#/components/schemas/WorkspaceReadResponseV1'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
        '567':
          description: Workspace Temporarily Unavailable
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/KeplerProblemDetails'
components:
  schemas:
    StringSecurable:
      type: object
      properties:
        Value:
          type:
          - string
          - 'null'
        Secured:
          type: boolean
      additionalProperties: false
    Action:
      type: object
      properties:
        Name:
          type:
          - string
          - 'null'
        Verb:
          type:
          - string
          - 'null'
        Href:
          type:
          - string
          - 'null'
        IsAvailable:
          type: boolean
        Reason:
          type:
          - array
          - 'null'
          items:
            type: string
      additionalProperties: false
    NameIDPair:
      type: object
      properties:
        ID:
          type: integer
          format: int32
        Name:
          type:
          - string
          - 'null'
      additionalProperties: false
    ObjectIdentifierSecurable:
      type: object
      properties:
        Value:
          $ref: '#/components/schemas/ObjectIdentifier'
        Secured:
          type: boolean
      additionalProperties: false
    KeplerProblemDetails:
      type: object
      properties:
        ErrorType:
          type:
          - string
          - 'null'
        Identifier:
          type:
          - string
          - 'null'
        Message:
          type:
          - string
          - 'null'
        Errors:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/KeplerValidationError'
      additionalProperties: false
    KeplerValidationError:
      type: object
      properties:
        PropertyName:
          type:
          - string
          - 'null'
        ErrorMessage:
          type:
          - string
          - 'null'
      additionalProperties: false
    Meta:
      type: object
      properties:
        Unsupported:
          type:
          - array
          - 'null'
          items:
            type: string
        ReadOnly:
          type:
          - array
          - 'null'
          items:
            type: string
      additionalProperties: false
    DisplayableObjectIdentifier:
      type: object
      properties:
        ArtifactID:
          type:
          - integer
          - 'null'
          format: int32
        Guids:
          type:
          - array
          - 'null'
          items:
            type: string
            format: uuid
        Name:
          type:
          - string
          - 'null'
      additionalProperties: false
    ObjectIdentifier:
      type: object
      properties:
        ArtifactID:
          type:
          - integer
          - 'null'
          format: int32
        Guids:
          type:
          - array
          - 'null'
          items:
            type: string
            format: uuid
      additionalProperties: false
    WorkspaceReadResponseV1:
      type: object
      properties:
        ArtifactID:
          type:
          - integer
          - 'null'
          format: int32
        Guids:
          type:
          - array
          - 'null'
          items:
            type: string
            format: uuid
        Name:
          type:
          - string
          - 'null'
        Client:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        ClientNumber:
          $ref: '#/components/schemas/StringSecurable'
        DownloadHandlerUrl:
          type:
          - string
          - 'null'
        EnableDataGrid:
          type: boolean
        Matter:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        MatterNumber:
          $ref: '#/components/schemas/StringSecurable'
        ProductionRestrictions:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        ResourcePool:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        DefaultFileRepository:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        DataGridFileRepository:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        DefaultCacheLocation:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        SqlServer:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        AzureCredentials:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        AzureFileSystemCredentials:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        SqlFullTextLanguage:
          $ref: '#/components/schemas/NameIDPair'
        Status:
          $ref: '#/components/schemas/DisplayableObjectIdentifier'
        Keywords:
          type:
          - string
          - 'null'
        Notes:
          type:
          - string
          - 'null'
        CreatedOn:
          type: string
          format: date-time
        CreatedBy:
          $ref: '#/components/schemas/DisplayableObjectIdentifier'
        LastModifiedBy:
          $ref: '#/components/schemas/DisplayableObjectIdentifier'
        LastModifiedOn:
          type: string
          format: date-time
        Meta:
          $ref: '#/components/schemas/Meta'
        Actions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Action'
        WorkspaceAdminGroup:
          $ref: '#/components/schemas/DisplayableObjectIdentifierSecurable'
        UseCase:
          type:
          - string
          - 'null'
        JobID:
          type:
          - string
          - 'null'
      additionalProperties: false
    WorkspaceUpdateRequest:
      type: object
      properties:
        DownloadHandlerUrl:
          type:
          - string
          - 'null'
        EnableDataGrid:
          type:
          - boolean
          - 'null'
        Matter:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        Name:
          type:
          - string
          - 'null'
        ProductionRestrictions:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        ResourcePool:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        DefaultFileRepository:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        DataGridFileRepository:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        DefaultCacheLocation:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        SqlServer:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        AzureCredentials:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        AzureFileSystemCredentials:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        SqlFullTextLanguage:
          type:
          - integer
          - 'null'
          format: int32
        Status:
          $ref: '#/components/schemas/ObjectIdentifier'
        Template:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        WorkspaceAdminGroup:
          $ref: '#/components/schemas/ObjectIdentifierSecurable'
        UseCase:
          type:
          - string
          - 'null'
        Keywords:
          type:
          - string
          - 'null'
        Notes:
          type:
          - string
          - 'null'
        UserId:
          type: integer
          format: int32
      additionalProperties: false
    DisplayableObjectIdentifierSecurable:
      type: object
      properties:
        Value:
          $ref: '#/components/schemas/DisplayableObjectIdentifier'
        Secured:
          type: boolean
      additionalProperties: false
    WorkspaceRequestEnvelope:
      required:
      - WorkspaceRequest
      type: object
      properties:
        WorkspaceRequest:
          $ref: '#/components/schemas/WorkspaceUpdateRequest'
        LastModifiedOn:
          type:
          - string
          - 'null'
          format: date-time
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        status:
          type:
          - integer
          - 'null'
          format: int32
        detail:
          type:
          - string
          - 'null'
        instance:
          type:
          - string
          - 'null'
      additionalProperties: {}