ALTR Data API

Protected, Governed, Tokenized, and FPE Columns Endpoints

Documentation

📖
Documentation
https://altrnet.live.altr.com/api/swagger/
📖
APIReference
https://altrnet.live.altr.com/api/swagger/
📖
Authentication
https://raw.githubusercontent.com/api-evangelist/altr/refs/heads/main/authentication/altr-authentication.yml
📖
Documentation
https://api.live.altr.com/v1/unified-policy/docs
📖
APIReference
https://api.live.altr.com/v1/unified-policy/docs
📖
Documentation
https://api.live.altr.com/v1/rbac/api-docs/index.html
📖
APIReference
https://api.live.altr.com/v1/rbac/api-docs/index.html
📖
Documentation
https://docs.classification.live.altr.com/v1/docs
📖
APIReference
https://docs.classification.live.altr.com/v1/docs
📖
Documentation
https://api.live.altr.com/v1/tag/auto-tagging-api-docs/index.html
📖
APIReference
https://api.live.altr.com/v1/tag/auto-tagging-api-docs/index.html
📖
Documentation
https://api.live.altr.com/v1/tag/masking-api-docs/index.html
📖
APIReference
https://api.live.altr.com/v1/tag/masking-api-docs/index.html
📖
Documentation
https://api.live.altr.com/v1/tag/refresh-api-docs/index.html
📖
APIReference
https://api.live.altr.com/v1/tag/refresh-api-docs/index.html
📖
Documentation
https://api.live.altr.com/v1/alpha/dbx/tag-policy/docs/index.html
📖
APIReference
https://api.live.altr.com/v1/alpha/dbx/tag-policy/docs/index.html
📖
Documentation
https://api.live.altr.com/v1/dis/swagger/
📖
APIReference
https://api.live.altr.com/v1/dis/swagger/
📖
Documentation
https://api.live.altr.com/v1/snowflake/metadata-api-docs/index.html
📖
APIReference
https://api.live.altr.com/v1/snowflake/metadata-api-docs/index.html
📖
Documentation
https://api.live.altr.com/v1/query-audits/api-docs/index.html
📖
APIReference
https://api.live.altr.com/v1/query-audits/api-docs/index.html
📖
Documentation
https://api.live.altr.com/v1/dam/docs
📖
APIReference
https://api.live.altr.com/v1/dam/docs
📖
Documentation
https://docs.dam-alerting.live.altr.com/v1/dam-alerting/docs
📖
APIReference
https://docs.dam-alerting.live.altr.com/v1/dam-alerting/docs
📖
Documentation
https://docs.audit-report.live.altr.com/v1/audit-reports/docs
📖
APIReference
https://docs.audit-report.live.altr.com/v1/audit-reports/docs
📖
Documentation
https://docs.notifications.live.altr.com/v1/notification-integration/docs
📖
APIReference
https://docs.notifications.live.altr.com/v1/notification-integration/docs
📖
Documentation
https://docs.critical.live.altr.com/v2
📖
APIReference
https://docs.critical.live.altr.com/v2
📖
Documentation
https://docs.sc-control.live.altr.com/v1/repo-config-docs
📖
APIReference
https://docs.sc-control.live.altr.com/v1/repo-config-docs
📖
Documentation
https://docs.sc-control.live.altr.com/v1/audits/docs
📖
APIReference
https://docs.sc-control.live.altr.com/v1/audits/docs
📖
Documentation
https://docs.sc-control.live.altr.com/v1/sidecars/telemetry/docs
📖
APIReference
https://docs.sc-control.live.altr.com/v1/sidecars/telemetry/docs
📖
Documentation
https://docs.sc-control.live.altr.com/v1/access-tokens/docs
📖
APIReference
https://docs.sc-control.live.altr.com/v1/access-tokens/docs
📖
Documentation
https://docs.service-user.live.altr.com/v1/docs
📖
APIReference
https://docs.service-user.live.altr.com/v1/docs

Specifications

OpenAPI Specification

altr-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ALTR Management Data API
  version: 12.25.1
  description: 'Welcome to the Swagger documentation for ALTR''s Management API (MAPI). MAPI allows ALTR customers to configure data sources and governance policy within the ALTR platform and is used to power ALTR''s own UI. ALTR Enterprise customers are able to use MAPI to automate the configuration of data sources and governance policy.


    MAPI does not include the endpoints for ALTR''s tokenization API; documentation on ALTR''s tokenization API can be found [here](https://docs.altr.com/reference).


    MAPI uses [HTTP Basic Authentication](https://swagger.io/docs/specification/authentication/basic-authentication/). MAPI credentials can be obtained on the [API page](https://altrnet.live.altr.com/settings/preferences/api) (found under Settings > Preferences > API) of ALTR''s portal for Enterprise and Enterprise + customers. Usernames are the ''Key Names'' listed on that page, and Passwords are the ''Key Secret'' provided when an API key is created.'
  termsOfService: https://www.altr.com/info/altr-solutions-inc-terms-of-service
  contact:
    name: Support
    email: support@altr.com
servers:
- url: https://altrnet.live.altr.com/api
  description: ALTR Management API
security:
- basicAuth: []
tags:
- name: data
  description: Protected, Governed, Tokenized, and FPE Columns Endpoints
  externalDocs:
    description: Find out more
    url: https://docs.altr.com/explore-altr-features/classification
paths:
  /data:
    get:
      tags:
      - data
      summary: Returns data
      operationId: get-data
      description: Returns an array of data objects
      parameters:
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/orderBy'
      - name: sortBy
        in: query
        description: Sorts the data
        schema:
          type: string
          default: nickname
          enum:
          - nickname
          - scatterStatus
          - tableName
          - columnNameresult set by the provided parameter name
      - name: autoComplete
        schema:
          type: string
        in: query
        description: Used to search protected data by nickname.
      - name: nickname
        schema:
          type: string
        in: query
        description: Used to search protected data by nickname.
      - name: columnName
        schema:
          type: string
        in: query
        description: Used to search protected data by columnName.
      - name: queryType
        schema:
          type: string
        in: query
        default: OR
        enum:
        - OR
        description: What type of operation to perform against this data set, defaults to an "OR" query and can only be "OR".
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      fields:
                        type: array
                        items:
                          $ref: '#/components/schemas/BaseDataModel'
                      count:
                        type: integer
                  success:
                    type: boolean
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
    post:
      tags:
      - data
      summary: Create a new governed, protected, tokenized, or fpe column
      operationId: post-data
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                databaseId:
                  type: integer
                  description: The database ID that correlates to the data being govern, protected, tokenized, or fpe belongs to.
                tableName:
                  type: string
                  description: The name of the table the data being govern, protected, tokenized, or fpe belongs to.
                schemaName:
                  type: string
                  description: The name of the schema the data being govern, tokenized, or fpe for when you are governing, tokenized, or fpe a view
                viewName:
                  type: string
                  description: The name of the view for views.
                columnName:
                  type: string
                  description: The name of the column the data being govern, protected, tokenized, or fpe belongs to.
                nickname:
                  type: string
                protectMode:
                  type: string
                  enum:
                  - govern
                  - protect
                  - tokenized
                  - fpe
                  description: The mode in which the data should be created. Govern, Protect, Tokenized, or FPE.
                alphabet:
                  type: string
                  enum:
                  - alphabetic
                  - numeric
                  - alphanumeric
                  - fpe
                  description: The name of the set of characters that will be decrypted in the ciphertext (e.g. alphabetic, numeric, alphanumeric). When protectMode is fpe, this field is required.
                keyName:
                  type: string
                  description: The name of the key that will be used to decrypt the data. When protectMode is fpe, this field is required.
                tweakName:
                  type: string
                  description: The name of the tweak that will be used to decrypt the data. When protectMode is fpe, this field is required.
                isPadded:
                  type: boolean
                  description: Whether or not padding was applied on encryption of the data.
                profiles:
                  type: array
                  description: Array of LockIDs to assign to the data at creation time
                  items:
                    type: integer
              required:
              - databaseId
              - columnName
              - nickname
              - protectMode
            examples:
              Govern Column in Table Example:
                value:
                  databaseId: 1
                  tableName: email
                  columnName: employees
                  nickname: employees_email_column
                  protectMode: govern
              Protect Column in Table Example:
                value:
                  databaseId: 1
                  tableName: email
                  columnName: employees
                  nickname: employees_email_column
                  protectMode: protect
              Govern Column in View Example:
                value:
                  databaseId: 1
                  schemaName: PUBLIC
                  viewName: MY_VIEW
                  columnName: EMPLOYEES
                  nickname: employees_email_column
                  protectMode: govern
              Tokenized Column in Table Example:
                value:
                  databaseId: 1
                  tableName: email
                  columnName: employees
                  nickname: employees_email_column
                  protectMode: tokenized
              Tokenized Column in View Example:
                value:
                  databaseId: 1
                  schemaName: PUBLIC
                  viewName: MY_VIEW
                  columnName: EMPLOYEES
                  nickname: employees_email_column
                  protectMode: tokenized
              FPE Column in Table Example:
                value:
                  databaseId: 1
                  tableName: email
                  columnName: employees
                  nickname: employees_email_column
                  protectMode: fpe
                  alphabet: numeric
                  keyName: ssn_key
                  tweakName: ssn_tweak
                  isPadded: false
              FPE Column in View Example:
                value:
                  databaseId: 1
                  schemaName: PUBLIC
                  viewName: MY_VIEW
                  columnName: EMPLOYEES
                  nickname: employees_email_column
                  protectMode: fpe
                  alphabet: numeric
                  keyName: ssn_key
                  tweakName: ssn_tweak
                  isPadded: false
        description: ''
      description: This endpoint can be used to govern or detokenize a column in a view or table, or to protect, govern or detokenize a column in a table. Protect is only available for non-SFCI Databases. Tokenized is only available for SFCI Databases.
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    allOf:
                    - $ref: '#/components/schemas/DataModel'
                    - type: object
                      properties:
                        CDMServiceEnabled:
                          type: boolean
                        implementation:
                          type: integer
                          example: 1
                  success:
                    type: boolean
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '422':
          $ref: '#/components/responses/Unprocessed'
        '500':
          $ref: '#/components/responses/InternalError'
  /data/{fieldId}:
    parameters:
    - $ref: '#/components/parameters/fieldId'
    get:
      tags:
      - data
      summary: Get data with given id
      operationId: get-data-dataId
      description: Fetches a govern, protected, tokenized, or fpe data field by its corresponding ID.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DataModel'
                  success:
                    type: boolean
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
    delete:
      summary: Delete data with given id
      operationId: delete-data-fieldId
      parameters:
      - name: ignoreErrors
        in: query
        schema:
          type: boolean
          default: false
        description: Whether to ignore the errors when deleting a column.
      tags:
      - data
      description: "Deletes a govern, protected, tokenized, or fpe data field by its corresponding ID.\n\nIf the field provided is currently in a scattered state a job will be queued and the field will be set to a removal_pending state and eventually from the database. \n\nIf the field provided is in a governed-only state then the field will be removed immediately."
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
    patch:
      tags:
      - data
      summary: Updates data with given id
      operationId: patch-data-fieldId
      description: 'Converts a governed column to protect, tokenized, or fpe. A tokenized column to govern, protect, or fpe. A fpe column to govern, protect, or tokenized.

        Can also be used to update a field''s friendlyName if desired. Can also update alphabet, keyName, or tweakName if column is fpe.


        Set ''reinvoke'' to true to retry a failed column connection.

        '
      requestBody:
        required: true
        description: At least one field is required. Both fields can be sent together.
        content:
          application/json:
            schema:
              type: object
              properties:
                nickname:
                  type: string
                  example: Column Nickname Updated via Swagger
                protectMode:
                  type: string
                  example: govern
                  enum:
                  - protect
                  - govern
                  - tokenized
                  - fpe
                alphabet:
                  type: string
                  enum:
                  - alphabetic
                  - numeric
                  - alphanumeric
                  - fpe
                  description: The name of the set of characters that will be decrypted in the ciphertext (e.g. alphabetic, numeric, alphanumeric). When protectMode is fpe, this field is required.
                keyName:
                  type: string
                  description: The name of the key that will be used to decrypt the data. When protectMode is fpe, this field is required.
                tweakName:
                  type: string
                  description: The name of the tweak that will be used to decrypt the data. When protectMode is fpe, this field is required.
                isPadded:
                  type: boolean
                  description: Whether or not padding was applied on encryption of the data.
                reinvoke:
                  type: boolean
                  default: false
                  description: 'For Snowflake CI only. When set to true, triggers the CDM service to re-apply governance on this column.

                    This will refresh the masking policy and related ALTR-managed objects in Snowflake.

                    Use this when column governance needs to be re-established, such as after infrastructure changes or to resolve issues.

                    '
                  example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DataModel'
                  success:
                    type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalError'
  /data/{fieldId}/status:
    get:
      summary: Returns the scatter status and percent completion for given id
      parameters:
      - $ref: '#/components/parameters/fieldId'
      tags:
      - data
      operationId: get-data-fieldId-status
      description: Returns the scatter status and percent completion for a given fieldId.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      scatterStatus:
                        type: string
                        enum:
                        - unscattered
                        - unscatter_pending
                        - unscatter_error
                        - tokenized
                        - tokenize_pending
                        - tokenize_error
                        - fpe
                        - fpe_pending
                        - fpe_error
                        - scattered
                        - scatter_pending
                        - scatter_error
                        - remove_pending
                        - remove_error
                        example: unscattered
                      pct:
                        type: integer
                        example: 100
                  success:
                    type: boolean
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
  /data/{fieldId}/metadata:
    get:
      deprecated: true
      summary: DEPRECATED - Returns all metadata for a given specified fieldId.
      tags:
      - data
      operationId: get-data-fieldId-metadata
      parameters:
      - $ref: '#/components/parameters/fieldId'
      description: Returns all metadata for a given specified fieldId.
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DataMetadata'
                  success:
                    type: boolean
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
  /data/{fieldId}/locks:
    delete:
      tags:
      - data
      summary: Deletes all relationships between a field and all of the fields corresponding locks.
      operationId: delete-data-fieldId-locks
      parameters:
      - $ref: '#/components/parameters/fieldId'
      description: Deletes all relationships between a field and all of the fields corresponding locks.
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
  /data/{fieldId}/foreign-keys:
    get:
      summary: Returns all of the foreign keys associated with a given fieldId
      tags:
      - data
      parameters:
      - $ref: '#/components/parameters/fieldId'
      operationId: get-data-fieldId-foreign-keys
      description: Returns all of the foreign keys associated with a given fieldId
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      foreignKeys:
                        type: array
                        items:
                          $ref: '#/components/schemas/BaseDataModel'
                      count:
                        type: integer
                  success:
                    type: boolean
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
  /data/{fieldId}/maskingpolicies:
    get:
      tags:
      - data
      summary: Returns a list of the available masking policies for the given field id, with pagination support.
      description: 'If the `fieldId`` passed is a valid Snowflake CI Column, you will get a result of all the available masking policies that can applied for this column.


        If the `fieldId`` passed is not a Snowflake CI Column, you will always get the default masking policy type of 0, No Mask.

        '
      operationId: getAvailableMaskingPolicies
      parameters:
      - $ref: '#/components/parameters/fieldId'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/orderBy'
      - name: sortBy
        in: query
        schema:
          type: string
          default: maskType
          enum:
          - maskType
          - name
        description: The property on which to sort masking policies by.
      - name: name
        in: query
        schema:
          type: string
        description: Filter by the masking policies name.
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      maskingpolicies:
                        description: An array of objects that represent the masking polices that the requested column can use.
                        type: array
                        items:
                          $ref: '#/components/schemas/MaskingPolicy'
                      count:
                        type: integer
                  success:
                    type: boolean
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    ApiError:
      type: object
      properties:
        data:
          type: object
          properties:
            message:
              type: string
              example: Internal Server Error
            statusCode:
              type: integer
              example: 500
            context:
              type: object
              example: {}
              description: An object with properties that may **optionally** appear, will contain more information relating to the error message.
            date:
              type: string
              format: date-time
        success:
          type: boolean
    DataLinkedColumns:
      type: object
      properties:
        linkedColumns:
          type: array
          items:
            type: object
            properties:
              size:
                type: integer
                example: 0
                description: Column length
              canMonitor:
                type: boolean
              canTokenized:
                type: boolean
              canScatter:
                type: boolean
              nullableType:
                type: integer
                description: 0 if non null, 1 if null
                enum:
                - 0
                - 1
                example: 1
              name:
                type: string
                example: EMAIL
              isAltred:
                type: boolean
                example: false
              isMonitored:
                type: boolean
              isTokenized:
                type: boolean
              type:
                type: string
                example: DATE
              tableName:
                type: string
                example: EMPLOYEES
          example: []
          description: This is continue to return any DataLinkedColumns linked columns until there aren't anymore.
        size:
          type: integer
          example: 0
          description: Column length
        canMonitor:
          type: boolean
        canTokenize:
          type: boolean
        canScatter:
          type: boolean
        nullableType:
          type: integer
          description: 0 if non null, 1 if null
          enum:
          - 0
          - 1
          example: 1
        name:
          type: string
          example: EMAIL
        isAltred:
          type: boolean
          example: false
        isMonitored:
          type: boolean
        isTokenized:
          type: boolean
        type:
          type: string
          example: DATE
        tableName:
          type: string
          example: EMPLOYEES
    DataMetadata:
      type: object
      properties:
        linkedColumns:
          type: array
          items:
            $ref: '#/components/schemas/DataLinkedColumns'
        isAltred:
          type: boolean
        isView:
          type: boolean
          example: false
        type:
          type: string
          example: DATE
        uuid:
          type: string
          example: bb4dc5c9-4305-523d-8b28-4e6fa8e4cb6a
        tableName:
          type: string
          example: EMPLOYEE
        schemaName:
          type: string
          example: PUBLIC
          description: Only available if the column is in a view
        viewName:
          type: string
          example: MY_VIEW
          description: Only available if the column is in a view
        size:
          type: integer
          example: 0
        canMonitor:
          type: boolean
        canTokenize:
          type: boolean
        canScatter:
          type: boolean
        nullableType:
          type: integer
          description: 0 if non null, 1 if null
          enum:
          - 0
          - 1
          example: 1
        name:
          type: string
          example: EMAIL
        isMonitored:
          type: boolean
        isTokenized:
          type: boolean
        metrics_emit_total:
          type: integer
          example: 111
        metrics_emit_received_at:
          type: integer
          example: 1673294738721
        metrics_emit_queued:
          type: integer
          example: 0
        metrics_emit_processed:
          type: integer
          example: 111
    MaskingPolicy:
      type: object
      description: An individual masking policy information.
      properties:
        id:
          type: integer
          description: The unique id of this masking policy
          example: 10000
        name:
          type: string
          description: The name of this masking policy
          example: Constant Mask
        details:
          type: object
          description: Contains additional details about this policy.
          properties:
            tooltip:
              type: string
              description: A description of the masking policy that is to be used for the tooltip text on the ALTRNet (this property is optional and may not appear on the response).
              example: The Constant Mask for number value columns will display a single number one in place of the columns original number value.
            example:
              type: string
              description: An example of how this masking policy will be applied.
              example: '****-**-1234'
        description:
          type: string
          description: The description of the masking policy
          example: For all your constant masking needs.
        parameters:
          type:
          - object
          - 'null'
          description: A custom object that can be NULL, defines the options for custom masking policies.
        maskType:
          type: integer
          enum:
          - 0
          - 2
          - 3
          - 4
          - 5
          description: 'The type of masking that will be performed * `0` - No Mask * `2` - Full Mask * `3` - E-mail * `4` - Show Last Four * `5` - Constant Mask

            '
          example: 1
        isEditable:
          type: boolean
          description: Whether this masking policy can be edited or not, if the value is `false`, it is one of the default masking policies that are provided.
          example: false
        clientId:
          type: string
          description: The client id in which the custom masking policy belongs too. If this value is 0, it means it's available for all organizations and is not a custom masking policy.
          example: '0'
    DataModel:
      allOf:
      - $ref: '#/components/schemas/BaseDataModel'
      - type: object
        properties:
          implementation:
            type:
            - integer
            - 'null'
            enum:
            - 1
            - 2
            - 3
            description: 'An optional field indicating the way governance on the column was implemented. This only applies to Snowflake CI; this value can also be `null`:

              * `1` - masking policy was created

              * `2` - database does not support masking policies

              * `3` - the column already has a masking policy applied to it.

              '
          CDMServiceEnabled:
            type: boolean
          databaseName:
            type: string
            description: The resolvable name of the connected database.
            example: MainStore
    BaseDataModel:
      type: object
      description: Base Data Model Representation
      properties:
        fieldId:
          type: number
          example: 1
        nickname:
          type: string
          example: column_nickname
        pct:
          type: integer
          example: 100
        databaseId:
          type: string
          example: 1
        groupId:
          type:
          - string
          - 'null'
          example: null
        databaseHelperId:
          type: string
        databaseType:
          type: string
          enum:
          - sqlserver
          - mysql
          - redshift
          - snowflake_external_functions
          description: The type of database this column belongs too
        jobId:
          type:
          - string
          - 'null'
          example: null
        columnName:
          type: string
          example: email
        friendlyDatabaseName:
          type: string
          example: Washington's Database 1
        tableName:
          type: string
          example: employees
        tableId:
          type: integer
          example: 1
        scatterStatus:
          type: string
          enum:
          - unscattered
          - unscatter_pending
          - unscatter_error
          - tokenized
          - tokenize_pending
          - tokenize_error
          - fpe
          - fpe_pending
          - fpe_error
          - scattered
          - scatter_pending
          - scatter_error
          - remove_pending
          - remove_error
          example: unscattered
        isParent:
          type: boolean
        isView:
          type: boolean
          description: whether or not this column is a view or not.
        alphabet:
          type: string
          enum:
          - alphabetic
          - numeric
          - alphanumeric
          - fpe
          description: The name of the set of characters that will be decrypted in the ciphertext (e.g. alphabetic, numeric, alphanumeric). When scatterStatus is fpe, this field is present.
        keyName:
          type: string
          description: The name of the key that will be used to decrypt the data. When scatterStatus is fpe, this field is present.
        tweakName:
          type: string
          description: The name of the tweak that will be used to decrypt the data. When scatterStatus is fpe, this field is present.
        isPadded:
          type: boolean
          description: Whether or not padding was applied on encryption of the data.
  parameters:
    offset:
      name: offset
      in: query
      schema:
        type: integer
        default: 0
        minimum: 0
    orderBy:
      name: orderBy
      in: query
      schema:
        type: string
        enum:
        - asc
        - desc
        default: asc
    limit:
      name: limit
      in: query
      schema:
        type: integer
        minimum: 0
        maximum: 50
        default: 50
    fieldId:
      name: fieldId
      required: true
      in: path
      schema:
        type: integer
        minimum: 1
      description: The ID that corresponds to govern, protected, tokenized, or fpe column.
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          example:
            data:
              message: Unauthorized
              statusCode: 401
              date: '2022-07-20T18:00:58.723Z'
            success: false
    Unprocessed:
      description: Unprocessable Entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          example:
            data:
              message: Unprocessable Entity
              statusCode: 422
              date: '2022-07-20T18:00:58.723Z'
            success: false
    NotFound:
      descrip

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/altr/refs/heads/main/openapi/altr-data-api-openapi.yml