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

# Request access token

> Returns a signed bearer token for the supplied email address and sends an auth-request email notification.



## OpenAPI

````yaml POST /auth/token
openapi: 3.1.0
info:
  title: Candidate Profile API
  version: 1.0.0
  description: >-
    Personal candidate profile API published at api.jonahanderson.me. Every
    endpoint except POST /auth/token requires bearer-token authentication. All
    example payloads in this spec are illustrative and do not represent live
    data.
servers:
  - url: https://api.jonahanderson.me
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Authentication
  - name: Candidate
  - name: Experience
  - name: Projects
  - name: Resume
  - name: Contact
paths:
  /auth/token:
    post:
      tags:
        - Authentication
      summary: Request access token
      description: >-
        Returns a signed bearer token for the supplied email address and sends
        an auth-request email notification.
      operationId: createAuthToken
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthTokenRequest'
            examples:
              tokenRequest:
                summary: Request token
                value:
                  email: recruiter@example.com
      responses:
        '200':
          description: Signed bearer token issued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthTokenResponse'
              examples:
                tokenIssued:
                  summary: Token issued
                  description: >-
                    The server sends an auth-request email notification and
                    returns a signed bearer token.
                  value:
                    access_token: YOUR_TOKEN
                    token_type: Bearer
        '400':
          $ref: '#/components/responses/AuthTokenBadRequest'
      security: []
components:
  schemas:
    AuthTokenRequest:
      type: object
      description: Payload used to request a signed bearer token.
      required:
        - email
      properties:
        email:
          type: string
          format: email
          description: >-
            Email address used for the auth request notification and token
            issuance.
          example: recruiter@example.com
      example:
        email: recruiter@example.com
    AuthTokenResponse:
      type: object
      description: Signed bearer token returned after a successful auth request.
      required:
        - access_token
        - token_type
      properties:
        access_token:
          type: string
          description: Signed bearer token to send on protected endpoints.
          example: YOUR_TOKEN
        token_type:
          type: string
          description: Authorization scheme for the returned token.
          enum:
            - Bearer
          example: Bearer
      example:
        access_token: YOUR_TOKEN
        token_type: Bearer
    ErrorResponse:
      type: object
      description: Wrapper object for API errors.
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/Error'
      example:
        error:
          code: BAD_REQUEST
          message: The request payload is missing a required field.
    Error:
      type: object
      description: Standard error payload returned by the API.
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Machine-readable error code.
          example: BAD_REQUEST
        message:
          type: string
          description: Human-readable explanation of the error.
          example: The request payload is missing a required field.
      example:
        code: BAD_REQUEST
        message: The request payload is missing a required field.
  responses:
    AuthTokenBadRequest:
      description: Token request validation error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingEmail:
              summary: Missing email
              value:
                error:
                  code: BAD_REQUEST
                  message: email is required
            invalidEmail:
              summary: Invalid email
              value:
                error:
                  code: BAD_REQUEST
                  message: email must be a valid email address
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Signed bearer token returned by POST /auth/token. Send it in the
        Authorization header as `Bearer <token>`.

````