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

# Create App Key

> Create an application-specific key for accessing other APIs.

### Parameters:
- `user` (User): The user instance for whom the app key is being created.
- `data` (AppKeyCreate, optional): The data containing the name, full access rights, and optional expiration.

### Returns:
- `dict`: A dictionary containing the app key's ID, token, and expiration date.



## OpenAPI

````yaml https://api.loyalty.dog/openapi.json post /v2/appkeys
openapi: 3.1.0
info:
  title: LoyaltyDog
  description: >-

    Welcome to the LoyaltyDog API! This API provides access to our loyalty
    program features, allowing you to integrate with various platforms and
    manage your loyalty data.


    Want to query LoyaltyDog via an AI assistant (Claude, Cursor, Windsurf)? See
    the [MCP Integration guide](https://loyaltydog.ai/playground#mcp).
        
  termsOfService: https://loyalty.dog/loyalty-program-terms-service
  contact:
    name: LoyaltyDog Support
    url: https://loyalty.dog/contact-us
    email: support@loyalty.dog
  version: 1.0.1
servers:
  - url: https://api.loyalty.dog
    description: Production
security:
  - bearerAuth: []
paths:
  /v2/appkeys:
    post:
      tags:
        - Token
      summary: Create App Key
      description: >-
        Create an application-specific key for accessing other APIs.


        ### Parameters:

        - `user` (User): The user instance for whom the app key is being
        created.

        - `data` (AppKeyCreate, optional): The data containing the name, full
        access rights, and optional expiration.


        ### Returns:

        - `dict`: A dictionary containing the app key's ID, token, and
        expiration date.
      operationId: create_app_key_v2_appkeys_post
      parameters:
        - name: authorization
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/AppKeyCreate'
                - type: 'null'
              title: Data
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AppKeyCreate:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        fullAccess:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Fullaccess
        expires:
          anyOf:
            - type: integer
            - type: 'null'
          title: Expires
        allowedTemplates:
          anyOf:
            - items:
                $ref: '#/components/schemas/PydanticObjectId'
              type: array
            - type: 'null'
          title: Allowedtemplates
      type: object
      title: AppKeyCreate
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PydanticObjectId:
      type: string
      maxLength: 24
      minLength: 24
      pattern: ^[0-9a-f]{24}$
      example: 5eb7cf5a86d9755df3a6c593
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from POST /v2/token.

````