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

> ## Agent Instructions
> Arcmira has three API capabilities: Search (entities, mentions, appearances, commercial intelligence), Monitors (trackers plus alert delivery), and Transcripts (read, generate, correct). Community Review is the cross-surface correction layer.
> Discover pages at https://docs.arcmira.com/llms.txt, then fetch the matching page's .md export. Each capability has a self-contained '<capability> for coding agents' page; prefer it.
> Auth: Authorization: Bearer arc_sk_... or x-api-key: arc_sk_... (x-api-key wins if both are sent). Never put keys in browser code. Check GET /v1/me for tier, scopes, and remaining rows before metered pulls.
> Search: resolve names with GET /v1/entities/lookup and pin ent_* IDs before pulling metered rows. Only person entities have appearances. Mention and recommendation rows carry canonical numeric timestamps in start_seconds/end_seconds (integer seconds; 0 means full episode); the MM:SS string fields are deprecated. Commercial routes need Pro+ tier AND the recommendations:read scope and bill 10 rows per row.
> Monitors: a tracker watches one entity; a monitor groups trackers with shared delivery (email, Slack, HMAC-signed webhooks). Create trackers with POST /v1/trackers, then attach by id: POST /v1/monitors/{id}/trackers { trackerIds: [...] }. Each fired alert occurrence debits 100 rows. Poll GET /v1/monitors/{id}/alerts?n= for recent deliveries. Send Idempotency-Key on every POST/PATCH.
> Transcripts: switch on the access field (unlocked, locked, premium_pending, not_transcribed, unauthenticated). Honor Retry-After when polling POST /v1/transcriptions jobs. Corrections (POST /v1/videos/{video_id}/corrections; kinds line_edit, speaker_reassign, speaker_identify, add_person, entity_tag, segment_rewrite) cost 0 rows; anchored kinds need revision + anchor.contentHash (djb2 base-36); handle 409 (re-anchor) and 412 (expectedSeq). segment_rewrite replaces an inclusive segment range with new segments (empty replacements array deletes; timestamps repaired server-side).
> Community Review is free (0 rows) and surface-typed: POST /v1/feedback with a type matching the surface you called, the reproducing query, and corrections targeting public IDs (ent_*, men_*, com_*). Nothing auto-applies. Do not send untyped notes.
> Errors: switch on error.code, follow doc_url, quote X-Request-Id to support. Honor Retry-After on 429. Retries of POST/PATCH must reuse the same Idempotency-Key; replays return Idempotency-Replayed: true.

# Get canonical entity metadata

> Returns the canonical entity envelope for an ent_{n} or numeric id, following merge redirects. For organization and product entities, callers with Recommendations API access (Pro+ plan with the recommendations:read scope) also receive a recommendations_summary commercial-intelligence rollup when a brand profile exists.



## OpenAPI

````yaml /openapi/arcmira-v1.json get /v1/entities/{id}
openapi: 3.1.0
info:
  title: Arcmira API
  version: 1.0.0
  contact:
    name: Arcmira
    url: https://arcmira.com
servers:
  - url: https://api.arcmira.com
security: []
paths:
  /v1/entities/{id}:
    get:
      tags:
        - Entities
      summary: Get canonical entity metadata
      description: >-
        Returns the canonical entity envelope for an ent_{n} or numeric id,
        following merge redirects. For organization and product entities,
        callers with Recommendations API access (Pro+ plan with the
        recommendations:read scope) also receive a recommendations_summary
        commercial-intelligence rollup when a brand profile exists.
      operationId: get_entity
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityDetailResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      param:
                        type: string
                      doc_url:
                        type: string
                      request_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                      - doc_url
                      - request_id
                required:
                  - error
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      param:
                        type: string
                      doc_url:
                        type: string
                      request_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                      - doc_url
                      - request_id
                required:
                  - error
        '402':
          description: Quota exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      param:
                        type: string
                      doc_url:
                        type: string
                      request_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                      - doc_url
                      - request_id
                required:
                  - error
        '403':
          description: Permission error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      param:
                        type: string
                      doc_url:
                        type: string
                      request_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                      - doc_url
                      - request_id
                required:
                  - error
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      param:
                        type: string
                      doc_url:
                        type: string
                      request_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                      - doc_url
                      - request_id
                required:
                  - error
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      param:
                        type: string
                      doc_url:
                        type: string
                      request_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                      - doc_url
                      - request_id
                required:
                  - error
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      param:
                        type: string
                      doc_url:
                        type: string
                      request_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                      - doc_url
                      - request_id
                required:
                  - error
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      param:
                        type: string
                      doc_url:
                        type: string
                      request_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                      - doc_url
                      - request_id
                required:
                  - error
      security:
        - bearerAuth: []
        - apiKeyAuth: []
components:
  schemas:
    EntityDetailResponse:
      type: object
      properties:
        entity:
          $ref: '#/components/schemas/Entity'
        recommendations_summary:
          $ref: '#/components/schemas/EntityDetailRecommendationsSummary'
      required:
        - entity
    Entity:
      type: object
      properties:
        id:
          type: string
          description: >-
            Public entity id in the form "ent_{n}". Always the canonical entity
            id.
        numeric_id:
          type: integer
          description: >-
            Raw integer database id of the canonical entity. Prefer the public
            "ent_{n}" id in requests.
        canonical_id:
          type: string
          description: Public id of the canonical entity. Identical to id.
        name:
          type: string
          description: Canonical entity name.
        type:
          type: string
          description: >-
            Entity type. Values: person (an individual), organization (a company
            or institution; legacy rows may read company or brand), product (a
            product or service), topic (a subject or theme), channel (a media
            source such as a YouTube channel), unknown (type was never
            classified).
        platform:
          type:
            - string
            - 'null'
          description: >-
            Source platform for channel entities, e.g. "youtube". Null unless
            the entity is platform-bound.
        url:
          type:
            - string
            - 'null'
          description: Canonical external URL for the entity. Null when none is known.
        image_url:
          type:
            - string
            - 'null'
          description: Entity image URL. Null until an image has been resolved.
        image_checked_at:
          type:
            - string
            - 'null'
          description: >-
            Timestamp of the last image resolution attempt. Null until the image
            pipeline has visited this entity.
        appearance_count:
          type: integer
          default: 0
          description: >-
            Number of indexed appearance/mention rows for this entity. 0 when
            never counted.
        owner_entity_id:
          type:
            - string
            - 'null'
          description: >-
            Public id ("ent_{n}") of the owning entity, e.g. the organization
            behind a product. Null unless an ownership link exists.
        is_canonical:
          type: boolean
          description: >-
            True when the id you supplied is the canonical entity. False when
            your id was merged into this canonical record.
        merged_from_id:
          type:
            - string
            - 'null'
          description: >-
            Public id you supplied when it differs from the canonical entity,
            i.e. your id was merged into this record. Null unless a merge
            redirect happened.
        route:
          type: string
          description: >-
            Site-relative route for this entity on arcmira.com, e.g.
            "/people/jane-doe".
      required:
        - id
        - numeric_id
        - canonical_id
        - name
        - type
        - platform
        - url
        - image_url
        - image_checked_at
        - owner_entity_id
        - is_canonical
        - merged_from_id
        - route
    EntityDetailRecommendationsSummary:
      type: object
      properties:
        total_ad_reads:
          type: integer
          description: Total ad_read rows across all channels. 0 when none.
        total_endorsements:
          type: integer
          description: Total endorsement rows across all channels. 0 when none.
        unique_shows:
          type: integer
          description: >-
            Number of distinct shows/channels with commercial mentions of this
            entity.
        first_seen_at:
          type:
            - string
            - 'null'
          description: >-
            Timestamp of the earliest commercial mention. Null until the brand
            profile has been computed.
        last_seen_at:
          type:
            - string
            - 'null'
          description: >-
            Timestamp of the most recent commercial mention. Null until the
            brand profile has been computed.
        channels_as_sponsor:
          type: integer
          description: >-
            Number of channels where this entity appears in the curated
            known-advertisers dataset.
      required:
        - total_ad_reads
        - total_endorsements
        - unique_shows
        - first_seen_at
        - last_seen_at
        - channels_as_sponsor
      description: >-
        Commercial-intelligence rollup. Only present for organization and
        product entities when the caller has Recommendations API access (Pro+
        plan with the recommendations:read scope) and a brand profile exists.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: arc_sk_*
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````