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

# Create API key

> Create a new API key



## OpenAPI

````yaml post /api_keys
openapi: 3.0.3
info:
  title: Video API
  description: Use our Video API to handle your video storage, transcoding and delivery.
  contact:
    name: Vidbeo Support
    url: https://www.vidbeo.com
    email: support@vidbeo.com
  version: 2.0.0
servers:
  - url: https://api.vidbeo.com/v2
security:
  - bearerAuth: []
tags:
  - name: Analytics
  - name: API keys
  - name: Audit logs
  - name: Categories
  - name: Folders
  - name: Identity providers
  - name: Invites
  - name: JWT keys
  - name: Players
  - name: Services
  - name: Stream keys
  - name: Tokens
  - name: Transcribes
  - name: Uploads
  - name: Users
  - name: Videos
paths:
  /api_keys:
    post:
      tags:
        - API keys
      summary: Create API key
      description: Create a new API key
      requestBody:
        $ref: '#/components/requestBodies/ApiKey'
      responses:
        '200':
          $ref: '#/components/responses/ApiKeyPost'
        '400':
          $ref: '#/components/responses/Error400'
components:
  requestBodies:
    ApiKey:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                type: string
                minLength: 1
                maxLength: 50
                example: Example
              type:
                type: string
                enum:
                  - api
                example: api
              permissions:
                description: >-
                  The actions this key is restricted to. Send an empty array for
                  full read/write access or send ['fetch'] to limit to read-only
                type: array
                items:
                  type: string
                  enum:
                    - fetch
                example: []
  responses:
    ApiKeyPost:
      description: API key (with value)
      content:
        application/json:
          schema:
            type: object
            required:
              - success
              - result
              - links
              - errors
            properties:
              success:
                type: boolean
                example: true
              result:
                $ref: '#/components/schemas/ApiKeyPost'
              links:
                type: object
                example: {}
              errors:
                type: array
                items:
                  type: object
                minLength: 0
                maxLength: 0
                example: []
    Error400:
      description: Invalid request
      content:
        application/json:
          schema:
            type: object
            required:
              - success
              - result
              - links
              - errors
            properties:
              success:
                type: boolean
                example: false
              result:
                type: object
                example: {}
              links:
                type: object
                example: {}
              errors:
                type: array
                items:
                  type: object
                  properties:
                    message:
                      type: string
                      example: Invalid data sent
            example:
              success: false
              result: {}
              links: {}
              errors:
                - message: Invalid data sent
  schemas:
    ApiKeyPost:
      type: object
      required:
        - id
        - name
        - type
        - permissions
        - value
        - created_by
        - created_time
        - updated_by
        - updated_time
      properties:
        id:
          type: string
          minLength: 21
          maxLength: 21
          example: abcde12345abcde12345a
        name:
          type: string
          example: Example key
        type:
          type: string
          enum:
            - api
          example: api
        permissions:
          type: array
          items:
            type: string
            enum:
              - fetch
          example: []
        value:
          type: string
          example: AbCdEgGhiJkLMnOpQrStUvWxYz
        created_by:
          type: string
          minLength: 21
          maxLength: 21
          example: abcde12345abcde12345a
        created_time:
          type: string
          format: date-time
          example: '2024-01-01T00:00:00.000Z'
        updated_by:
          type: string
          minLength: 21
          maxLength: 21
          example: abcde12345abcde12345a
        updated_time:
          type: string
          format: date-time
          example: '2024-01-01T00:00:00.000Z'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````