Outline DataAttributes API

`DataAttributes` represent custom metadata fields that can be attached to documents. They allow workspaces to add structured data like status, priority, or any other custom properties to their documents.

GitHub OpenAPI

Operations 5

POST /dataAttributes.info Retrieve a data attribute #
POST /dataAttributes.list List all data attributes #
POST /dataAttributes.create Create a data attribute #
POST /dataAttributes.update Update a data attribute #
POST /dataAttributes.delete Delete a data attribute #

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/outline:outline-dataattributes-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

outline-dataattributes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Outline Data Attributes API
  description: '# Introduction


    The Outline API is structured in an RPC style.'
  version: 0.1.0
  contact:
    email: hello@getoutline.com
  license:
    name: BSD-3-Clause
    url: https://github.com/outline/openapi/blob/main/LICENSE
servers:
- url: https://app.getoutline.com/api
  description: Cloud hosted
- url: https://{domain}/api
  description: Self-hosted on your own server
  variables:
    domain:
      default: example.com
security:
- BearerAuth: []
- OAuth2:
  - read
  - write
tags:
- name: DataAttributes
  description: '`DataAttributes` represent custom metadata fields that can be attached to

    documents. They allow workspaces to add structured data like status, priority,

    or any other custom properties to their documents.'
paths:
  /dataAttributes.info:
    post:
      x-badges:
      - name: Business
      - name: Enterprise
      tags:
      - DataAttributes
      summary: Retrieve a data attribute
      description: Retrieve a data attribute by its unique identifier.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: Unique identifier for the data attribute.
                  format: uuid
              required:
              - id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DataAttribute'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
      operationId: dataAttributesInfo
  /dataAttributes.list:
    post:
      x-badges:
      - name: Business
      - name: Enterprise
      tags:
      - DataAttributes
      summary: List all data attributes
      description: List all data attributes.
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/Pagination'
              - $ref: '#/components/schemas/Sorting'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/DataAttribute'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
      operationId: dataAttributesList
  /dataAttributes.create:
    post:
      x-badges:
      - name: Business
      - name: Enterprise
      tags:
      - DataAttributes
      summary: Create a data attribute
      description: Create a new data attribute. Only admins can create data attributes.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the data attribute.
                  example: Status
                description:
                  type: string
                  description: Description of the data attribute.
                  example: The current status of the document.
                dataType:
                  $ref: '#/components/schemas/DataAttributeDataType'
                options:
                  $ref: '#/components/schemas/DataAttributeOptions'
                pinned:
                  type: boolean
                  description: Whether the data attribute is pinned to the top of document.
                  default: false
              required:
              - name
              - dataType
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DataAttribute'
                  policies:
                    type: array
                    items:
                      $ref: '#/components/schemas/Policy'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
      operationId: dataAttributesCreate
  /dataAttributes.update:
    post:
      x-badges:
      - name: Business
      - name: Enterprise
      tags:
      - DataAttributes
      summary: Update a data attribute
      description: Update an existing data attribute. Only admins can update data attributes. Note that the dataType cannot be changed after creation.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: Unique identifier for the data attribute.
                  format: uuid
                name:
                  type: string
                  description: Name of the data attribute.
                  example: Status
                description:
                  type: string
                  description: Description of the data attribute.
                options:
                  $ref: '#/components/schemas/DataAttributeOptions'
                pinned:
                  type: boolean
                  description: Whether the data attribute is pinned to the top of document.
              required:
              - id
              - name
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DataAttribute'
                  policies:
                    type: array
                    items:
                      $ref: '#/components/schemas/Policy'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
      operationId: dataAttributesUpdate
  /dataAttributes.delete:
    post:
      x-badges:
      - name: Business
      - name: Enterprise
      tags:
      - DataAttributes
      summary: Delete a data attribute
      description: Delete a data attribute. Only admins can delete data attributes.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: Unique identifier for the data attribute.
                  format: uuid
              required:
              - id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
      operationId: dataAttributesDelete
components:
  schemas:
    Error:
      type: object
      properties:
        ok:
          type: boolean
          example: false
        error:
          type: string
        message:
          type: string
        status:
          type: number
        data:
          type: object
    DataAttribute:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the object.
          readOnly: true
          format: uuid
        name:
          type: string
          description: The name of this data attribute.
          example: Status
        description:
          type: string
          description: A description of the data attribute.
          example: The current status of the document.
        dataType:
          $ref: '#/components/schemas/DataAttributeDataType'
        options:
          $ref: '#/components/schemas/DataAttributeOptions'
        pinned:
          type: boolean
          description: Whether this data attribute is pinned to the top of documents.
          default: false
        createdAt:
          type: string
          description: The date and time that this object was created
          readOnly: true
          format: date-time
        updatedAt:
          type: string
          description: The date and time that this object was last changed
          readOnly: true
          format: date-time
        deletedAt:
          type:
          - string
          - 'null'
          description: The date and time that this object was deleted
          readOnly: true
          format: date-time
    Pagination:
      type: object
      properties:
        offset:
          type: number
          example: 0
        limit:
          type: number
          example: 25
    DataAttributeDataType:
      type: string
      description: The data type of the attribute value.
      enum:
      - string
      - number
      - boolean
      - list
    DataAttributeOptions:
      type: object
      description: Additional options for certain data attribute types.
      properties:
        icon:
          type: string
          description: An icon representing the data attribute from the outline-icons package.
        options:
          type: array
          description: Valid options for list data type.
          items:
            type: object
            properties:
              value:
                type: string
                description: The label/value of the option.
              color:
                type: string
                description: Optional color for the option.
    Sorting:
      type: object
      properties:
        sort:
          type: string
          example: updatedAt
        direction:
          type: string
          example: DESC
          enum:
          - ASC
          - DESC
    Policy:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the object this policy references.
          format: uuid
          readOnly: true
        abilities:
          type: object
          description: The abilities that are allowed by this policy, if an array is returned then the individual ID's in the array represent the memberships that grant the ability.
          additionalProperties:
            $ref: '#/components/schemas/Ability'
          example:
            read: true
            update: true
            delete: false
    Ability:
      description: A single permission granted by a policy
      example: true
      oneOf:
      - type: array
        items:
          type: string
      - type: boolean
  headers:
    Retry-After:
      schema:
        type: integer
      description: Seconds in the future to retry the request, if rate limited.
    RateLimit-Limit:
      schema:
        type: integer
      description: The maximum requests available in the current duration.
    RateLimit-Remaining:
      schema:
        type: integer
      description: How many requests are left in the current duration.
    RateLimit-Reset:
      schema:
        type: string
      description: Timestamp in the future the duration will reset.
  responses:
    Unauthenticated:
      description: The API key is missing or otherwise invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: The current API key is not authorized to perform this action.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The specified resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: The request was rate limited.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
        RateLimit-Limit:
          $ref: '#/components/headers/RateLimit-Limit'
        RateLimit-Remaining:
          $ref: '#/components/headers/RateLimit-Remaining'
        RateLimit-Reset:
          $ref: '#/components/headers/RateLimit-Reset'
      content:
        application/json:
          schema:
            type: object
            properties:
              ok:
                type: boolean
                example: false
              error:
                type: string
                example: rate_limit_exceeded
              status:
                type: number
                example: 429
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.getoutline.com/oauth/authorize
          tokenUrl: https://app.getoutline.com/oauth/token
          refreshUrl: https://app.getoutline.com/oauth/token
          scopes:
            read: Read access
            write: Write access