Capacities Objects API

Search and list objects in a space

Operations 4

POST /objects/search Search objects #
GET /objects/structure List objects by structure #
GET /objects/tag List objects with a tag #
GET /objects/collection List objects in a collection #

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/capacities-io:capacities-io-objects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

capacities-io-objects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Capacities Objects API
  version: 1.0.0
  termsOfService: https://capacities.io/terms-and-conditions
  description: 'Interactive **reference** for all routes of the Capacities API.


    You can add your `cap-api-…` token in the **`Bearer Token`** field to make requests in this dashboard.'
  x-scalar-sdk-installation:
  - lang: Node
    description: 'Install the Capacities TypeScript SDK:'
    source: "npm install @capacities/api\n\nconst capacities = new CapacitiesClient({\n  apiToken: 'cap-api-1lNgD7****' \n})"
servers:
- url: https://api.capacities.io
security:
- bearerAuth: []
tags:
- name: Objects
  description: Search and list objects in a space
paths:
  /objects/search:
    post:
      summary: Search objects
      description: 'Searches objects in the current space by title. When AI embeddings are available for the account, objects that match the query by meaning are included as well. If embeddings are unavailable, title matches are still returned. Results are ordered by relevance and can be limited to specific structures with `structureIds`.


        **Rate limit**: 30 requests per 60 seconds'
      tags:
      - Objects
      x-codeSamples:
      - label: TypeScript SDK
        lang: Node
        source: "import { CapacitiesClient } from '@capacities/api'\n\nconst capacities = new CapacitiesClient({\n  apiToken: 'cap-api-1lNgD7****',\n})\n\nconst { results } = await capacities.objects.search({\n  query: 'project alpha',\n  structureIds: ['RootPage'],\n})"
      requestBody:
        content:
          application/json:
            example:
              query: project alpha
              structureIds:
              - RootPage
              limit: 20
            schema:
              type: object
              properties:
                query:
                  type: string
                  minLength: 1
                  maxLength: 512
                  description: Text to match against object titles. When AI embeddings are available, objects that match by meaning are included as well.
                structureIds:
                  description: Optional structure id filters. When set, only objects of these types are returned.
                  minItems: 1
                  maxItems: 25
                  type: array
                  items:
                    anyOf:
                    - type: string
                      format: uuid
                      pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                    - type: string
                      enum:
                      - RootSpace
                      - User
                      - UserPersonal
                      - RootDatabase
                      - RootQuery
                      - RootPage
                      - RootStructure
                      - RootEntity
                      - RootBlocksTemplate
                      - MediaImage
                      - MediaPDF
                      - MediaAudio
                      - MediaVideo
                      - MediaWebResource
                      - MediaFile
                      - MediaTweet
                      - RootAIChat
                      - RootSimpleTable
                      - RootWhiteboard
                      - RootDailyNote
                      - RootTag
                      - UtilDate
                      - RootTask
                    description: Structure id (UUID for custom types, or a built-in id such as RootPage).
                limit:
                  description: Maximum number of results to return. Defaults to 20, maximum 50.
                  type: integer
                  minimum: 1
                  maximum: 50
              required:
              - query
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              example:
                results:
                - id: 7d2e7f8a-4c3b-4e1d-9f0a-123456789abc
                  structureId: RootPage
                  title: Project Alpha
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          description: Unique identifier of the matching object.
                        structureId:
                          anyOf:
                          - type: string
                            format: uuid
                            pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          - type: string
                            enum:
                            - RootSpace
                            - User
                            - UserPersonal
                            - RootDatabase
                            - RootQuery
                            - RootPage
                            - RootStructure
                            - RootEntity
                            - RootBlocksTemplate
                            - MediaImage
                            - MediaPDF
                            - MediaAudio
                            - MediaVideo
                            - MediaWebResource
                            - MediaFile
                            - MediaTweet
                            - RootAIChat
                            - RootSimpleTable
                            - RootWhiteboard
                            - RootDailyNote
                            - RootTag
                            - UtilDate
                            - RootTask
                          description: Structure id (UUID for custom types, or a built-in id such as RootPage).
                        title:
                          type: string
                          description: Display title of the matching object.
                      required:
                      - id
                      - structureId
                      - title
                      additionalProperties: false
                    description: Matching objects ordered by search relevance.
                required:
                - results
                additionalProperties: false
      operationId: postObjectsSearch
      x-operation-id-source: derived
  /objects/structure:
    get:
      summary: List objects by structure
      description: 'Lists object summaries of a structure, 100 at a time.


        **Rate limit**: 30 requests per 60 seconds'
      tags:
      - Objects
      x-codeSamples:
      - label: TypeScript SDK
        lang: Node
        source: "import { CapacitiesClient } from '@capacities/api'\n\nconst capacities = new CapacitiesClient({\n  apiToken: 'cap-api-1lNgD7****',\n})\n\nconst page = await capacities.objects.structure({ structureId: 'RootPage' })"
      parameters:
      - in: query
        name: cursor
        schema:
          description: Cursor returned by the previous page.
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        description: Cursor returned by the previous page.
      - in: query
        name: pageSize
        schema:
          default: 100
          description: Number of results to return. Defaults to 100, maximum 100.
          type: integer
          minimum: 1
          maximum: 100
        description: Number of results to return. Defaults to 100, maximum 100.
      - in: query
        name: id
        schema:
          anyOf:
          - type: string
            format: uuid
            pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          - type: string
            enum:
            - RootSpace
            - User
            - UserPersonal
            - RootDatabase
            - RootQuery
            - RootPage
            - RootStructure
            - RootEntity
            - RootBlocksTemplate
            - MediaImage
            - MediaPDF
            - MediaAudio
            - MediaVideo
            - MediaWebResource
            - MediaFile
            - MediaTweet
            - RootAIChat
            - RootSimpleTable
            - RootWhiteboard
            - RootDailyNote
            - RootTag
            - UtilDate
            - RootTask
          description: Structure id (UUID for custom types, or a built-in id such as RootPage).
        required: true
        description: Structure id (UUID for custom types, or a built-in id such as RootPage).
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          description: Unique identifier of the matching object.
                        structureId:
                          anyOf:
                          - type: string
                            format: uuid
                            pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          - type: string
                            enum:
                            - RootSpace
                            - User
                            - UserPersonal
                            - RootDatabase
                            - RootQuery
                            - RootPage
                            - RootStructure
                            - RootEntity
                            - RootBlocksTemplate
                            - MediaImage
                            - MediaPDF
                            - MediaAudio
                            - MediaVideo
                            - MediaWebResource
                            - MediaFile
                            - MediaTweet
                            - RootAIChat
                            - RootSimpleTable
                            - RootWhiteboard
                            - RootDailyNote
                            - RootTag
                            - UtilDate
                            - RootTask
                          description: Structure id (UUID for custom types, or a built-in id such as RootPage).
                        title:
                          type: string
                          description: Display title of the matching object.
                      required:
                      - id
                      - structureId
                      - title
                      additionalProperties: false
                  nextCursor:
                    type:
                    - string
                    - 'null'
                    format: uuid
                    pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  hasMore:
                    type: boolean
                required:
                - results
                - nextCursor
                - hasMore
                additionalProperties: false
      operationId: getObjectsStructure
      x-operation-id-source: derived
  /objects/tag:
    get:
      summary: List objects with a tag
      description: 'Lists object summaries with a tag, 100 at a time.


        **Rate limit**: 30 requests per 60 seconds'
      tags:
      - Objects
      x-codeSamples:
      - label: TypeScript SDK
        lang: Node
        source: "import { CapacitiesClient } from '@capacities/api'\n\nconst capacities = new CapacitiesClient({\n  apiToken: 'cap-api-1lNgD7****',\n})\n\nconst page = await capacities.objects.tag({ tagId: '5cd11f44-88f9-448b-9875-af8ff1a5b2b9' })"
      parameters:
      - in: query
        name: cursor
        schema:
          description: Cursor returned by the previous page.
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        description: Cursor returned by the previous page.
      - in: query
        name: pageSize
        schema:
          default: 100
          description: Number of results to return. Defaults to 100, maximum 100.
          type: integer
          minimum: 1
          maximum: 100
        description: Number of results to return. Defaults to 100, maximum 100.
      - in: query
        name: id
        schema:
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        required: true
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          description: Unique identifier of the matching object.
                        structureId:
                          anyOf:
                          - type: string
                            format: uuid
                            pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          - type: string
                            enum:
                            - RootSpace
                            - User
                            - UserPersonal
                            - RootDatabase
                            - RootQuery
                            - RootPage
                            - RootStructure
                            - RootEntity
                            - RootBlocksTemplate
                            - MediaImage
                            - MediaPDF
                            - MediaAudio
                            - MediaVideo
                            - MediaWebResource
                            - MediaFile
                            - MediaTweet
                            - RootAIChat
                            - RootSimpleTable
                            - RootWhiteboard
                            - RootDailyNote
                            - RootTag
                            - UtilDate
                            - RootTask
                          description: Structure id (UUID for custom types, or a built-in id such as RootPage).
                        title:
                          type: string
                          description: Display title of the matching object.
                      required:
                      - id
                      - structureId
                      - title
                      additionalProperties: false
                  nextCursor:
                    type:
                    - string
                    - 'null'
                    format: uuid
                    pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  hasMore:
                    type: boolean
                required:
                - results
                - nextCursor
                - hasMore
                additionalProperties: false
      operationId: getObjectsTag
      x-operation-id-source: derived
  /objects/collection:
    get:
      summary: List objects in a collection
      description: 'Lists object summaries in a collection, 100 at a time.


        **Rate limit**: 30 requests per 60 seconds'
      tags:
      - Objects
      x-codeSamples:
      - label: TypeScript SDK
        lang: Node
        source: "import { CapacitiesClient } from '@capacities/api'\n\nconst capacities = new CapacitiesClient({\n  apiToken: 'cap-api-1lNgD7****',\n})\n\nconst page = await capacities.objects.collection({ collectionId: '5cd11f44-88f9-448b-9875-af8ff1a5b2b9' })"
      parameters:
      - in: query
        name: cursor
        schema:
          description: Cursor returned by the previous page.
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        description: Cursor returned by the previous page.
      - in: query
        name: pageSize
        schema:
          default: 100
          description: Number of results to return. Defaults to 100, maximum 100.
          type: integer
          minimum: 1
          maximum: 100
        description: Number of results to return. Defaults to 100, maximum 100.
      - in: query
        name: id
        schema:
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        required: true
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          description: Unique identifier of the matching object.
                        structureId:
                          anyOf:
                          - type: string
                            format: uuid
                            pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          - type: string
                            enum:
                            - RootSpace
                            - User
                            - UserPersonal
                            - RootDatabase
                            - RootQuery
                            - RootPage
                            - RootStructure
                            - RootEntity
                            - RootBlocksTemplate
                            - MediaImage
                            - MediaPDF
                            - MediaAudio
                            - MediaVideo
                            - MediaWebResource
                            - MediaFile
                            - MediaTweet
                            - RootAIChat
                            - RootSimpleTable
                            - RootWhiteboard
                            - RootDailyNote
                            - RootTag
                            - UtilDate
                            - RootTask
                          description: Structure id (UUID for custom types, or a built-in id such as RootPage).
                        title:
                          type: string
                          description: Display title of the matching object.
                      required:
                      - id
                      - structureId
                      - title
                      additionalProperties: false
                  nextCursor:
                    type:
                    - string
                    - 'null'
                    format: uuid
                    pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  hasMore:
                    type: boolean
                required:
                - results
                - nextCursor
                - hasMore
                additionalProperties: false
      operationId: getObjectsCollection
      x-operation-id-source: derived
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
x-scalar-environments:
  production:
    description: Production
    color: '#0082D0'
    variables:
    - name: apiUrl
      value:
        description: Capacities API base URL
        default: https://api.capacities.io
    - name: apiToken
      value:
        description: Bearer token (prefix cap-api-)
        default: ''
  development:
    description: Local development
    color: '#16A34A'
    variables:
    - name: apiUrl
      value:
        description: Local portal API base URL
        default: http://localhost:3000/api
    - name: apiToken
      value:
        description: Bearer token (prefix cap-api-)
        default: ''
x-scalar-active-environment: production