> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frankieone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List tag mappings

> Retrieve tag mappings for objects in the FrankieOne ecosystem. Results are scoped to the
customer context provided in the request headers. Child organisations cannot access mappings
belonging to sibling organisations.

Objects with no tag mappings are excluded from the response.

When no filters are provided, all tag mappings within the customer and child scope are returned,
paginated and sorted by the object mapping's `updatedAt` descending (most recently updated first).
Within each object, tags are sorted by their mapping `createdAt` descending (newest first).

Filtering within a single parameter applies **OR** logic (e.g. `objectTypes=ENTITY,TRANSACTION`
returns mappings for either type). Filtering across different parameters applies **AND** logic
(e.g. `objectTypes=ENTITY&objectIds=abc,def` returns ENTITY mappings only for those IDs).

Duplicate `objectIds` are de-duplicated before processing.




## OpenAPI

````yaml /specs/fc-core-bundled_generated.yaml get /v2/tag/mappings
openapi: 3.0.3
info:
  title: Core V2 API
  version: 2.0.0
  description: >-
    This is the APIs for V2 Core. It allows you to do common operations, such as
    read audit entries or get workflow lists.
  contact:
    name: FrankieOne
    url: https://www.frankieone.com/
    email: help@frankieone.com
servers:
  - url: https://api.uat.frankie.one
    description: UAT Environment API Base URL
  - url: https://api.frankie.one
    description: Production API Base URL
security:
  - Api-Key: []
tags:
  - name: Audit
    description: Manage audit entries
  - name: Customers
    description: Manage customer accounts
  - name: Request
    description: Retrieve background request results
  - name: Reports
    description: Generate and manage reports
  - name: Workflow Definitions
    description: Create and update workflow definitions
  - name: Status
    description: All valid customers will get a successful response.
  - name: Workflows
    description: Manage Workflows and Workflow Definitions
  - name: Tags
    description: Query tags and tag mappings on objects
paths:
  /v2/tag/mappings:
    parameters:
      - $ref: '#/components/parameters/Api-Key'
      - $ref: '#/components/parameters/X-Frankie-CustomerID'
      - $ref: '#/components/parameters/X-Frankie-CustomerChildID'
      - $ref: '#/components/parameters/X-Frankie-Channel'
      - $ref: '#/components/parameters/X-Frankie-Username'
    get:
      tags:
        - Tags
      summary: List tag mappings
      description: >
        Retrieve tag mappings for objects in the FrankieOne ecosystem. Results
        are scoped to the

        customer context provided in the request headers. Child organisations
        cannot access mappings

        belonging to sibling organisations.


        Objects with no tag mappings are excluded from the response.


        When no filters are provided, all tag mappings within the customer and
        child scope are returned,

        paginated and sorted by the object mapping's `updatedAt` descending
        (most recently updated first).

        Within each object, tags are sorted by their mapping `createdAt`
        descending (newest first).


        Filtering within a single parameter applies **OR** logic (e.g.
        `objectTypes=ENTITY,TRANSACTION`

        returns mappings for either type). Filtering across different parameters
        applies **AND** logic

        (e.g. `objectTypes=ENTITY&objectIds=abc,def` returns ENTITY mappings
        only for those IDs).


        Duplicate `objectIds` are de-duplicated before processing.
      operationId: listTagMappings
      parameters:
        - $ref: '#/components/parameters/query_object_types'
        - $ref: '#/components/parameters/query_object_ids'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - requestId
                  - meta
                  - mappings
                properties:
                  requestId:
                    $ref: '#/components/schemas/Request-ID'
                  meta:
                    $ref: '#/components/schemas/List-Operation-Meta'
                  mappings:
                    type: array
                    description: >-
                      Tag mappings grouped by object. Only objects that have at
                      least one tag mapping are included. Sorted by object
                      mapping updatedAt descending.
                    items:
                      $ref: '#/components/schemas/Tag-Mapped-Object'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid EntityId:
                  value:
                    errorCode: API-0400,
                    errorMsg: 'Multiple Errors: See Issues list'
                    details:
                      - issue: 'entityId in path must be of type uuid: "test"'
                        issueLocation: VALIDATE-entityId
                    requestId: 01HM5XJ7VASZ3EJMB1VQGTBFJ4
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid authentication:
                  value:
                    errorCode: AUTH-0002,
                    errorMsg: Unauthorized
                    details:
                      - issue: Invalid Authentication provided. Access denied.
                        issueLocation: request
                    requestId: 00000000S6MNG7624K2TDXT1E3
                No Api-Key:
                  value:
                    errorCode: AUTH-0401
                    errorMsg: Unauthorized
                    details:
                      - issue: No api key provided. Access denied.
                        issueLocation: request
                    requestId: 00000001S6MNG7624K2TDXT1E3
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Api-Key: []
components:
  parameters:
    Api-Key:
      name: api_key
      in: header
      schema:
        type: string
        example: 245c765b124a098d09ef8765....
      description: Your API key provided by FrankieOne
      required: true
    X-Frankie-CustomerID:
      name: X-Frankie-CustomerID
      in: header
      required: true
      schema:
        type: string
        example: 12345678-1234-1234-1234-123456789012
      description: Your Customer ID provided by FrankieOne
    X-Frankie-CustomerChildID:
      name: X-Frankie-CustomerChildID
      in: header
      required: false
      schema:
        type: string
        example: 87654321-4321-4321-4321-210987654321
      description: Your Customer Child ID provided by FrankieOne
    X-Frankie-Channel:
      name: X-Frankie-Channel
      in: header
      required: false
      schema:
        type: string
      description: >-
        Open string that can be used to define the "channel" the request comes
        in from. It can potentially be used in routing and risk calculations
        upon request. Default values that can be used are:  api portal smartui
        Any alphanumeric string is supported though. Anything over 64 characters
        will be truncated.
    X-Frankie-Username:
      name: X-Frankie-Username
      in: header
      description: Username provided by API caller
      required: false
      schema:
        type: string
        example: fred.flintstone@frankieone.com
    query_object_types:
      name: objectTypes
      in: query
      required: false
      explode: false
      style: form
      schema:
        type: array
        items:
          $ref: '#/components/schemas/Object-Type'
      description: >-
        Filter tag mappings by object type. Supports multiple comma-separated
        values (OR logic).
      example:
        - ENTITY
        - TRANSACTION
    query_object_ids:
      name: objectIds
      in: query
      required: false
      explode: false
      style: form
      schema:
        type: array
        items:
          type: string
      description: >-
        Filter tag mappings by object ID. Supports multiple comma-separated
        values (OR logic). Duplicate IDs are de-duplicated before processing.
      example:
        - 12345678-1234-1234-1234-123456789012
    page:
      in: query
      name: page
      example: 2
      schema:
        type: integer
      description: The page number that you want to retrieve for the list query
    limit:
      in: query
      name: limit
      schema:
        type: integer
        minimum: 1
        default: 20
      example: 20
      description: Limit the number of items that will be returned as part of the request
  schemas:
    Request-ID:
      type: string
      example: 01HN9XHZN6MGXM9JXG50K59Q85
      description: The unique request identifier for the API call made.
    List-Operation-Meta:
      type: object
      description: >-
        Meta information about the request and response returned during a list
        operation.
      properties:
        page:
          type: integer
          description: The current page number of the request.
        total:
          type: integer
          description: The total number of items found for the search criteria.
        limit:
          type: integer
          description: The limit applied to this response.
        count:
          type: integer
          description: The number of items returned in this response.
        sort:
          type: string
          enum:
            - asc
            - desc
          description: The sort order applied to the items in the response.
        sortFields:
          type: array
          items:
            type: string
            enum:
              - createdAt
              - updatedAt
    Tag-Mapped-Object:
      type: object
      description: An object and the tags mapped to it.
      required:
        - objectId
        - objectType
        - tags
      properties:
        objectId:
          type: string
          description: ID of the object (may be ULID or UUID).
          example: 12345678-1234-1234-1234-123456789012
        objectType:
          $ref: '#/components/schemas/Object-Type'
        tags:
          type: array
          description: >-
            Tags applied to this object, sorted by mapping createdAt descending
            (newest first).
          items:
            $ref: '#/components/schemas/Tag-Mapping'
    Error:
      type: object
      x-examples:
        '400':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0400
          errorMsg: Parsing credentials from "<invalid>" failed, because invalid.
          httpStatusCode: 400
        '401':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0401
          errorMsg: Unauthenticated due to invalid credentials.
          httpStatusCode: 401
        '409':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0409
          errorMsg: Conflict.
          httpStatusCode: 409
      allOf:
        - $ref: '#/components/schemas/Error-Base'
        - type: object
          properties:
            requestId:
              $ref: '#/components/schemas/Request-ID'
    Object-Type:
      description: The type of object being annotated.
      type: string
      enum:
        - ADDRESS
        - NAME
        - PHONE_NUMBER
        - EMAIL
        - DATE_OF_BIRTH
        - WEBSITE
        - SHAREHOLDER
        - OFFICIAL
        - UBO
        - REGISTRATION
        - SHAREHOLDING
        - SHARECAPITAL
        - DOCUMENT
        - DOCUMENT_ATTACHMENT
        - RESULT_PROCESS
        - RESULT_STEP
        - RESULT_WORKFLOW
        - SERVICE_PROFILE
        - AUDIT_EVENT
        - EXTERNAL_REFERENCE
        - RISK_ASSESSMENT
        - MATCHLIST
    Tag-Mapping:
      type: object
      description: >-
        A tag applied to an object, including the identifier for the specific
        mapping.
      required:
        - mappingId
      allOf:
        - $ref: '#/components/schemas/Tag-Base'
        - type: object
          properties:
            mappingId:
              type: string
              format: uuid
              description: Unique identifier for this tag-to-object mapping.
              example: 12345678-1234-1234-1234-123456789012
              readOnly: true
    Error-Base:
      type: object
      properties:
        errorCode:
          type: string
        errorMsg:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
    Tag-Base:
      type: object
      required:
        - tagId
        - label
      properties:
        tagId:
          type: string
          format: uuid
          description: Unique identifier for the tag.
          example: 12345678-1234-1234-1234-123456789012
          readOnly: true
        label:
          type: string
          description: Human-readable name for the tag.
          example: ROMANCE_SCAM
        description:
          type: string
          description: Optional description for the tag.
          example: Indicates a potential romance scam.
        category:
          type: string
          description: Category used to group tags.
          example: FRAUD
        type:
          $ref: '#/components/schemas/Tag-Type'
        domain:
          type: string
          description: Optional domain context for the tag.
          example: ACTIVITY_MONITORING
    Issue:
      type: object
      properties:
        issue:
          type: string
          description: Description of the issue.
        issueLocation:
          type: string
          description: The location or context where the issue was identified.
        issueType:
          type: string
          description: The type or category of the issue.
    Tag-Type:
      description: >
        The type of the tag.

        - SYSTEM: A tag created by FrankieOne. The `createdBy` and `updatedBy`
        fields will be omitted for SYSTEM tags.

        - CUSTOMER: A tag created by the customer.
      type: string
      enum:
        - SYSTEM
        - CUSTOMER
  securitySchemes:
    Api-Key:
      type: apiKey
      in: header
      name: api_key
      description: ''

````