UserClouds Columns API

The Columns API from UserClouds — 2 operation(s) for columns.

Operations 5

GET /userstore/config/columns List Columns #
POST /userstore/config/columns Create Column #
DELETE /userstore/config/columns/{id} Delete Column #
GET /userstore/config/columns/{id} Get Column #
PUT /userstore/config/columns/{id} Update Column #

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/userclouds:userclouds-columns-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

userclouds-columns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: User Store OpenAPI Spec
  title: User Store Columns API
  version: 1.0.0
servers:
- url: https://your-tenant-name.tenant.userclouds.com
tags:
- name: Columns
paths:
  /userstore/config/columns:
    get:
      description: This endpoint returns a paginated list of all columns in a tenant.
      parameters:
      - description: A cursor value after which the returned list will start
        in: query
        name: starting_after
        schema:
          description: A cursor value after which the returned list will start
          type:
          - string
          - 'null'
      - description: A cursor value before which the returned list will end
        in: query
        name: ending_before
        schema:
          description: A cursor value before which the returned list will end
          type:
          - string
          - 'null'
      - description: The maximum number of results to be returned per page
        in: query
        name: limit
        schema:
          description: The maximum number of results to be returned per page
          type:
          - string
          - 'null'
      - description: A filter clause to use in the pagination query
        in: query
        name: filter
        schema:
          description: A filter clause to use in the pagination query
          type:
          - string
          - 'null'
      - description: A comma-delimited list of field names to sort the returned results by - the last field name must be 'id'
        in: query
        name: sort_key
        schema:
          description: A comma-delimited list of field names to sort the returned results by - the last field name must be 'id'
          type:
          - string
          - 'null'
      - description: The order in which results should be sorted (ascending or descending)
        in: query
        name: sort_order
        schema:
          description: The order in which results should be sorted (ascending or descending)
          type:
          - string
          - 'null'
      - description: The version of the API to be called
        in: query
        name: version
        schema:
          description: The version of the API to be called
          type:
          - string
          - 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdpListColumnsResponse'
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: List Columns
      tags:
      - Columns
      operationId: getUserstoreConfigColumns
      x-operation-id-source: derived
    post:
      description: This endpoint creates a new column.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdpCreateColumnRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserstoreColumn'
          description: Created
        '400':
          description: Bad Request
        '409':
          description: Conflict
        '500':
          description: Internal Server Error
      summary: Create Column
      tags:
      - Columns
      operationId: postUserstoreConfigColumns
      x-operation-id-source: derived
  /userstore/config/columns/{id}:
    delete:
      description: This endpoint deletes a column by ID. Note that deleting the column doesn't result in data deletion - it just results in the data being immediately unavailable. To delete the data stored in the column, you need to trigger the garbage collection process on the column which will remove the data after a configurable retention period.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/UuidUUID'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Internal Server Error
      summary: Delete Column
      tags:
      - Columns
      operationId: deleteUserstoreConfigColumnsById
      x-operation-id-source: derived
    get:
      description: This endpoint gets a column's configuration by ID.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/UuidUUID'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserstoreColumn'
          description: OK
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      summary: Get Column
      tags:
      - Columns
      operationId: getUserstoreConfigColumnsById
      x-operation-id-source: derived
    put:
      description: This endpoint updates a specified column. Some column characteristics cannot be changed in an Update operation, once the column contains data. A column update may invalidate the accessors defined for it.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          $ref: '#/components/schemas/UuidUUID'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserstoreUpdateColumnRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserstoreColumn'
          description: OK
        '400':
          description: Bad Request
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Internal Server Error
      summary: Update Column
      tags:
      - Columns
      operationId: putUserstoreConfigColumnsById
      x-operation-id-source: derived
components:
  schemas:
    IdpCreateColumnRequest:
      properties:
        column:
          $ref: '#/components/schemas/UserstoreColumn'
      type: object
    UserstoreColumnConstraints:
      properties:
        fields:
          description: The set of fields associated with a column of type composite. Fields cannot be specified if the column type is not composite.
          items:
            $ref: '#/components/schemas/UserstoreColumnField'
          type:
          - array
          - 'null'
        immutable_required:
          description: Can be enabled when unique_id_required is enabled. If true, values for the associated column cannot be modified, but can be added or removed.
          type: boolean
        partial_updates:
          description: Can be enabled for array columns that have UniqueRequired or UniqueIDRequired enabled. When enabled, a mutation request will update the specified subset of values for the associated column.
          type: boolean
        unique_id_required:
          description: Can be enabled for column type composite or address. If true, each value for the associated column must have a unique string ID, which can either be provided or generated by backend.
          type: boolean
        unique_required:
          description: If true, each value for the associated column must be unique for the user. This is primarily useful for array columns.
          type: boolean
      type: object
    UserstoreColumn:
      properties:
        access_policy:
          $ref: '#/components/schemas/UserstoreResourceID'
        constraints:
          $ref: '#/components/schemas/UserstoreColumnConstraints'
        data_type:
          $ref: '#/components/schemas/UserstoreResourceID'
        default_token_access_policy:
          $ref: '#/components/schemas/UserstoreResourceID'
        default_transformer:
          $ref: '#/components/schemas/UserstoreResourceID'
        default_value:
          type: string
        id:
          $ref: '#/components/schemas/UuidUUID'
        index_type:
          $ref: '#/components/schemas/UserstoreColumnIndexType'
        is_array:
          type: boolean
        is_system:
          description: Whether this column is a system column. System columns cannot be deleted or modified. This property cannot be changed.
          type: boolean
        name:
          type: string
        search_indexed:
          type: boolean
        table:
          type: string
        type:
          type: string
      required:
      - name
      - data_type
      - is_array
      - index_type
      type: object
    UuidUUID:
      example: 248df4b7-aa70-47b8-a036-33ac447e668d
      format: uuid
      type: string
    UserstoreColumnField:
      properties:
        camel_case_name:
          description: Read-only camel-case version of field name, with underscores stripped out. (ex. IDField1)
          type: string
        ignore_for_uniqueness:
          description: If true, field value will be ignored when comparing two composite value for a uniqueness check.
          type: boolean
        name:
          description: Each part of name must be capitalized or all-caps, separated by underscores. Names may contain alphanumeric characters, and the first part must start with a letter, while other parts may start with a number. (ex. ID_Field_1)
          type: string
        required:
          description: Whether a value must be specified for the field.
          type: boolean
        struct_name:
          description: Read-only snake-case version of field name, with all letters lowercase. (ex. id_field_1)
          type: string
        type:
          type: string
      required:
      - type
      - name
      type: object
    UserstoreResourceID:
      properties:
        id:
          $ref: '#/components/schemas/UuidUUID'
        name:
          type: string
      type: object
    UserstoreColumnIndexType:
      enum:
      - indexed
      - none
      - unique
      type: string
    UserstoreUpdateColumnRequest:
      properties:
        column:
          $ref: '#/components/schemas/UserstoreColumn'
      type: object
    PaginationCursor: {}
    IdpListColumnsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/UserstoreColumn'
          type:
          - array
          - 'null'
        has_next:
          type: boolean
        has_prev:
          type: boolean
        next:
          type: string
        prev:
          $ref: '#/components/schemas/PaginationCursor'
      type: object
x-readme:
  explorer-enabled: false