UpKeep Authentication API

Session token management

OpenAPI Specification

upkeep-authentication-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: UpKeep Assets Authentication API
  description: UpKeep is an asset operations management and CMMS (Computerized Maintenance Management System) platform. The UpKeep API provides programmatic access to work orders, assets, parts, locations, preventive maintenance schedules, purchase orders, meters, and webhooks for maintenance teams and facility managers.
  version: '2022-09-14'
  contact:
    name: UpKeep Developer Support
    url: https://developers.onupkeep.com/
  termsOfService: https://upkeep.com/terms/
servers:
- url: https://api.onupkeep.com/api/v2
  description: UpKeep Production API
security:
- SessionToken: []
tags:
- name: Authentication
  description: Session token management
paths:
  /auth:
    post:
      operationId: createSession
      summary: Create Session
      description: Authenticate with email and password to obtain a session token.
      tags:
      - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              - password
              properties:
                email:
                  type: string
                  format: email
                  description: User email address
                password:
                  type: string
                  description: User password
      security: []
      responses:
        '200':
          description: Session token created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteSession
      summary: Delete Session
      description: Invalidate the current session token (logout).
      tags:
      - Authentication
      responses:
        '204':
          description: Session invalidated
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Session token missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
          description: Error message
    SessionResponse:
      type: object
      properties:
        success:
          type: boolean
        token:
          type: string
          description: Session token for subsequent API calls
        userId:
          type: string
  securitySchemes:
    SessionToken:
      type: apiKey
      in: header
      name: session-token
      description: Session token obtained from POST /auth