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

# List keys



## OpenAPI

````yaml get /v1/keys
openapi: 3.0.0
info:
  version: 1.0.0
  title: Formizee API
  description: The Forms Backend Platform API
  termsOfService: https://www.formizee.com/legal/terms-of-service
  license:
    name: Apache 2.0
    url: https://github.com/formizee/formizee/blob/main/LICENSE
  contact:
    email: support@formizee.com
servers:
  - url: https://api.formizee.com
    description: Stable Release
security:
  - bearerAuth: []
tags:
  - name: Health
  - name: Keys
  - name: Endpoints
  - name: Submissions
paths:
  /v1/keys:
    get:
      tags:
        - Keys
      summary: List keys
      parameters:
        - schema:
            $ref: '#/components/schemas/PageNumber'
          required: false
          name: page
          in: query
        - schema:
            $ref: '#/components/schemas/Limit'
          required: false
          name: limit
          in: query
      responses:
        '200':
          description: List keys
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    type: object
                    properties:
                      page:
                        $ref: '#/components/schemas/CurrentPageNumber'
                      totalPages:
                        $ref: '#/components/schemas/TotalPages'
                      itemsPerPage:
                        $ref: '#/components/schemas/TotalItems'
                    required:
                      - totalPages
                  keys:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: The id of the key
                          example: key_4VjHrJoEwAFC6itz8oUBW9NW2bia
                        name:
                          type: string
                          minLength: 4
                          maxLength: 64
                          description: The name of the key
                          example: My New Key
                        workspaceId:
                          type: string
                          description: The id of the workspace
                          example: ws_4VjHrJoEwAFC6itz8oUBW9NW2bia
                        lastAccess:
                          type: string
                          description: The last time the key was used
                          example: '2024-07-23 12:41:45.38215'
                        expiresAt:
                          type: string
                          description: The expiration date of the key
                          example: '2024-07-23 12:41:45.38215'
                      required:
                        - id
                        - name
                        - workspaceId
                        - expiresAt
                required:
                  - _metadata
                  - keys
        '400':
          description: >-
            The server cannot or will not process the request due to something
            that is perceived to be a client error (e.g., malformed request
            syntax, invalid request message framing, or deceptive request
            routing).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrBadRequest'
        '401':
          description: The client must authenticate itself to get the requested response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrUnauthorized'
        '403':
          description: >-
            The client does not have the necessary permissions to access the
            resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrForbidden'
        '404':
          description: The server can't find the requested resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrNotFound'
        '405':
          description: >-
            The request could not be completed due to a conflict mainly due to
            unique constraints.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrMethodNotAllowed'
        '409':
          description: >-
            The request could not be completed due to a conflict mainly due to
            unique constraints.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrConflict'
        '413':
          description: The request body size is too large to be processed by the server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrPayloadTooLarge'
        '429':
          description: You have made too many requests in a short period of time.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrTooManyRequests'
        '500':
          description: >-
            The server has encountered a situation it doesn't know how to
            handle.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrInternalServerError'
        '504':
          description: >-
            The server is taking a long time to respond to requests due to load
            problems.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrGatewayTimeout'
components:
  schemas:
    PageNumber:
      type: number
      minimum: 1
      default: 1
    Limit:
      type: number
      minimum: 1
      default: 100
    CurrentPageNumber:
      type: number
      minimum: 1
      default: 1
    TotalPages:
      type: number
      minimum: 1
    TotalItems:
      type: number
      minimum: 1
      maximum: 256
      default: 100
    ErrBadRequest:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: BAD_REQUEST
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: https://formizee.com/api-references/errors/code/BAD_REQUEST
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
    ErrUnauthorized:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: UNAUTHORIZED
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: https://formizee.com/api-references/errors/code/UNAUTHORIZED
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
    ErrForbidden:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: FORBIDDEN
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: https://formizee.com/api-references/errors/code/FORBIDDEN
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
    ErrNotFound:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: NOT_FOUND
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: https://formizee.com/api-references/errors/code/NOT_FOUND
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
    ErrMethodNotAllowed:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: METHOD_NOT_ALLOWED
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: https://formizee.com/api-references/errors/code/METHOD_NOT_ALLOWED
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
    ErrConflict:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: CONFLICT
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: https://formizee.com/api-references/errors/code/CONFLICT
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
    ErrPayloadTooLarge:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: PAYLOAD_TOO_LARGE
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: https://formizee.com/api-references/errors/code/PAYLOAD_TOO_LARGE
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
    ErrTooManyRequests:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: TOO_MANY_REQUESTS
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: https://formizee.com/api-references/errors/code/TOO_MANY_REQUESTS
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
    ErrInternalServerError:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: INTERNAL_SERVER_ERROR
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: >-
            https://formizee.com/api-references/errors/code/INTERNAL_SERVER_ERROR
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
    ErrGatewayTimeout:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
            - FORBIDDEN
            - INTERNAL_SERVER_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - GATEWAY_TIMEOUT
            - TOO_MANY_REQUESTS
            - USAGE_EXCEEDED
            - DISABLED
            - CONFLICT
            - NOT_FOUND
            - NOT_UNIQUE
            - UNAUTHORIZED
            - PAYLOAD_TOO_LARGE
            - METHOD_NOT_ALLOWED
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: GATEWAY_TIMEOUT
        message:
          type: string
          description: A human readable message describing the issue.
          example: Missing required field 'name'.
        docs:
          type: string
          description: A link to the documentation for the error.
          example: https://formizee.com/api-references/errors/code/GATEWAY_TIMEOUT
        requestId:
          type: string
      required:
        - code
        - message
        - docs
        - requestId
  securitySchemes:
    bearerAuth:
      bearerFormat: root key
      scheme: bearer
      type: http

````