Soda Attributes API

The Attributes surface of the Soda Cloud v4 API — 4 operation(s) across 2 path(s).

Operations 4

GET /api/v1/attributes List attributes #
POST /api/v1/attributes Create an attribute #
POST /api/v1/attributes/{attributeId} Update an attribute #
DELETE /api/v1/attributes/{attributeId} Delete an 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/soda-data-attributes-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

soda-data-attributes-api-openapi.yml Raw ↑
# generated: '2026-08-29'
# method: searched
# source: https://docs.soda.io/reference/soda-apis/rest-api/ — assembled from the OpenAPI 3.1.0
#   documents Soda publishes inline on each REST API reference page (16 pages, 103 operations,
#   zero conflicting definitions). Ownership: info.title 'Soda Cloud API v4', servers
#   https://cloud.soda.io + https://cloud.us.soda.io — Soda's own hosts.
openapi: 3.1.0
info:
  title: Soda Cloud API v4 — Attributes
  version: v1
  description: The Attributes surface of the Soda Cloud v4 public REST API — 4 operation(s). Harvested
    verbatim from the OpenAPI documents Soda publishes at https://docs.soda.io/reference/soda-apis/rest-api/.
  contact:
    name: Soda
    url: https://www.soda.io
servers:
- description: Cloud EU
  url: https://cloud.soda.io
- description: Cloud US
  url: https://cloud.us.soda.io
security:
- basicAuthApiKey: []
- cookieToken: []
tags:
- name: Attributes
  description: Soda Cloud API Attribute Endpoints
paths:
  /api/v1/attributes:
    get:
      description: 'This endpoint enables you to list the attributes available in your organization''s
        Soda Cloud account.


        Optionally filter by resource type using the `resourceType` query parameter.


        This GET is a paginated API that uses the following parameters to request specific details:


        - `size`: Supply an integer value between 10 and 1000, inclusive. The default value is 1000.


        - `page`: Supply an integer value. The default value is 0.


        - `resourceType`: Optional. Filter by resource type (`dataset`, `check`, or `column`).


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated
        token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Any Soda Cloud user in your organization may execute this query.


        ## Tags


        `Attributes`


        ## Rate limiting


        60 requests/60 seconds'
      operationId: GET/api/v1/attributes
      parameters:
      - in: query
        name: page
        schema:
          type: integer
          format: int32
      - in: query
        name: resourceType
        schema:
          type: object
          $ref: '#/components/schemas/AttributeResourceTypeDTO'
      - in: query
        name: size
        schema:
          type: integer
          format: int32
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiListAttributesResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: List attributes
      tags:
      - Attributes
    post:
      description: 'This endpoint enables you to create a new attribute in your organization''s Soda Cloud
        account.


        Attributes are scoped to a resource type (dataset, check, or column). Once an attribute is created,
        it can be set on the associated resource type. Attributes can be used to configure notification
        rules, dashboards, filters, etc. For example sending email alerts when checks marked as critical
        fail.


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated
        token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Users must have global role permission MANAGE_ATTRIBUTES to execute this call.


        ## Tags


        `Attributes`


        ## Rate limiting


        100 requests/60 seconds'
      operationId: POST/api/v1/attributes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiCreateAttributeRequestDTO'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiCreateAttributeResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Create an attribute
      tags:
      - Attributes
  /api/v1/attributes/{attributeId}:
    post:
      description: 'This endpoint enables you to update an existing attribute in your organization''s
        Soda Cloud account.


        Only label, description, and allowedValues (for select types) can be updated.


        When updating allowedValues, existing attribute values on resources are left in place, even if
        they are no longer in the allowed set.


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated
        token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Users must have global role permission MANAGE_ATTRIBUTES to execute this call.


        ## Tags


        `Attributes`


        ## Rate limiting


        100 requests/60 seconds'
      operationId: POST/api/v1/attributes/{attributeId}
      parameters:
      - in: path
        name: attributeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/PublicApiUpdateAttributeRequestDTO'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiUpdateAttributeResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Update an attribute
      tags:
      - Attributes
    delete:
      description: 'This endpoint enables you to delete an existing attribute from your organization''s
        Soda Cloud account.


        The attribute will be removed from any resources where it is set.


        ## Authentication


        User authentication required: `true`


        This endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated
        token in HTTP cookie `token`. Cookie sessions extend automatically on each request.


        ## Authorization


        Users must have global role permission MANAGE_ATTRIBUTES to execute this call.


        ## Tags


        `Attributes`


        ## Rate limiting


        100 requests/60 seconds'
      operationId: DELETE/api/v1/attributes/{attributeId}
      parameters:
      - in: path
        name: attributeId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/PublicApiDeleteAttributeResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Too many requests
        '500':
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      summary: Delete an attribute
      tags:
      - Attributes
components:
  securitySchemes:
    basicAuthApiKey:
      scheme: basic
      type: http
    cookieToken:
      in: cookie
      name: token
      type: apiKey
  schemas:
    AttributeContentDTO:
      type: object
      properties:
        allowedValues:
          type: array
          items:
            type: string
        description:
          type: string
        id:
          type: string
        label:
          type: string
        name:
          type: string
        resourceType:
          type: object
          $ref: '#/components/schemas/AttributeResourceTypeDTO'
        type:
          type: object
          $ref: '#/components/schemas/AttributeTypeDTO'
      required:
      - id
      - label
      - name
      - resourceType
      - type
    AttributeResourceTypeDTO:
      type: string
      enum:
      - dataset
      - check
      - column
    AttributeTypeDTO:
      type: string
      enum:
      - text
      - number
      - checkbox
      - datetime
      - singleSelect
      - multiSelect
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    PublicApiCreateAttributeRequestDTO:
      type: object
      properties:
        allowedValues:
          type: array
          items:
            type: string
        description:
          type: string
        label:
          type: string
        name:
          type: string
        resourceType:
          type: object
          $ref: '#/components/schemas/AttributeResourceTypeDTO'
        type:
          type: object
          $ref: '#/components/schemas/AttributeTypeDTO'
      required:
      - label
      - name
      - resourceType
      - type
    PublicApiCreateAttributeResponse:
      type: object
      properties:
        attribute:
          type: object
          $ref: '#/components/schemas/AttributeContentDTO'
      required:
      - attribute
    PublicApiDeleteAttributeResponse:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    PublicApiListAttributesResponse:
      type: object
      properties:
        content:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/AttributeContentDTO'
        first:
          type: boolean
        last:
          type: boolean
        number:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        totalElements:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
      required:
      - content
      - first
      - last
      - number
      - size
      - totalElements
      - totalPages
    PublicApiUpdateAttributeRequestDTO:
      type: object
      properties:
        allowedValues:
          type: array
          items:
            type: string
        description:
          type: string
        label:
          type: string
    PublicApiUpdateAttributeResponse:
      type: object
      properties:
        attribute:
          type: object
          $ref: '#/components/schemas/AttributeContentDTO'
      required:
      - attribute