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

# Publish today's issuer key

> Makes sure today's issuer key for the app is published on Arkiv and returns its entity key. Clients must read the key itself from Arkiv, never from this response.



## OpenAPI

````yaml /openapi.json get /v1/issuer/key
openapi: 3.1.0
info:
  title: Arkognito relayer API
  version: arkognito-relayer/1
  description: >-
    HTTP API of an Arkognito relayer and, when it runs with ISSUER=on, the
    blind-token issuer. All bodies are JSON unless noted. CORS is open. Relayers
    do not log request IPs or bodies.
  license:
    name: MIT
    url: https://github.com/soumyacodes007/Arkognito/blob/main/LICENSE
servers:
  - url: https://relay-1.example.com
    description: Your relayer
  - url: http://localhost:8787
    description: Local relayer
security: []
tags:
  - name: Relayer
    description: Submit records and follow their status.
  - name: Issuer
    description: Daily issuer keys and blind token issuance (relayers with ISSUER=on).
  - name: Operations
    description: Health and Oblivious HTTP.
paths:
  /v1/issuer/key:
    get:
      tags:
        - Issuer
      summary: Publish today's issuer key
      description: >-
        Makes sure today's issuer key for the app is published on Arkiv and
        returns its entity key. Clients must read the key itself from Arkiv,
        never from this response.
      operationId: ensureIssuerKey
      parameters:
        - name: app
          in: query
          required: true
          schema:
            type: string
        - name: epoch
          in: query
          required: true
          description: 'Today''s UTC day number: floor(unix_ms / 86400000).'
          schema:
            type: integer
      responses:
        '200':
          description: Published
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssuerKeyResponse'
        '400':
          description: app missing or epoch is not today
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Publishing failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    IssuerKeyResponse:
      type: object
      required:
        - issuer
        - app
        - epoch
        - entityKey
      properties:
        issuer:
          $ref: '#/components/schemas/Address'
        app:
          type: string
        epoch:
          type: integer
        entityKey:
          $ref: '#/components/schemas/Hex'
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
    Address:
      type: string
      pattern: ^0x[0-9a-fA-F]{40}$
      examples:
        - '0x1111111111111111111111111111111111111111'
    Hex:
      type: string
      pattern: ^0x[0-9a-fA-F]*$

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.