Nhost operations API

Administrative operations

OpenAPI Specification

nhost-operations-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: Nhost authentication operations API
  description: Comprehensive authentication service for managing user identities, sessions, and authentication methods
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
  contact:
    name: Nhost Support
    email: support@nhost.io
    url: https://nhost.io
servers:
- url: https://{subdomain}.auth.{region}.nhost.run/v1
  description: Nhost Authentication API Server
tags:
- name: operations
  description: Administrative operations
paths:
  /ops/delete-broken-metadata:
    post:
      summary: Delete broken metadata
      operationId: deleteBrokenMetadata
      description: Broken metadata is defined as metadata that has isUploaded = true but there is no file in the storage matching it. This is an admin operation that requires the Hasura admin secret.
      tags:
      - operations
      security:
      - X-Hasura-Admin-Secret: []
      responses:
        '200':
          description: Successfully deleted broken metadata
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    type: array
                    items:
                      $ref: '#/components/schemas/FileSummary'
        default:
          description: En error occured
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /ops/delete-orphans:
    post:
      summary: Deletes orphaned files
      operationId: deleteOrphanedFiles
      description: Orphaned files are files that are present in the storage but have no associated metadata. This is an admin operation that requires the Hasura admin secret.
      tags:
      - operations
      security:
      - X-Hasura-Admin-Secret: []
      responses:
        '200':
          description: Successfully deleted orphaned files
          content:
            application/json:
              schema:
                type: object
                properties:
                  files:
                    type: array
                    items:
                      type: string
        default:
          description: En error occured
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /ops/list-broken-metadata:
    post:
      summary: Lists broken metadata
      operationId: listBrokenMetadata
      description: Broken metadata is defined as metadata that has isUploaded = true but there is no file in the storage matching it. This is an admin operation that requires the Hasura admin secret.
      tags:
      - operations
      security:
      - X-Hasura-Admin-Secret: []
      responses:
        '200':
          description: Successfully computed broken metadata
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    type: array
                    items:
                      $ref: '#/components/schemas/FileSummary'
        default:
          description: En error occured
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /ops/list-not-uploaded:
    post:
      summary: Lists files that haven't been uploaded
      operationId: listFilesNotUploaded
      description: That is, metadata that has isUploaded = false. This is an admin operation that requires the Hasura admin secret.
      tags:
      - operations
      security:
      - X-Hasura-Admin-Secret: []
      responses:
        '200':
          description: Successfully checked files not uploaded
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    type: array
                    items:
                      $ref: '#/components/schemas/FileSummary'
        default:
          description: En error occured
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /ops/list-orphans:
    post:
      summary: Lists orphaned files
      operationId: listOrphanedFiles
      description: Orphaned files are files that are present in the storage but have no associated metadata. This is an admin operation that requires the Hasura admin secret.
      tags:
      - operations
      security:
      - X-Hasura-Admin-Secret: []
      responses:
        '200':
          description: Successfully computed orphaned files
          content:
            application/json:
              schema:
                type: object
                properties:
                  files:
                    type: array
                    items:
                      type: string
        default:
          description: En error occured
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      description: Error information returned by the API.
      properties:
        error:
          type: object
          additionalProperties: false
          description: Error details.
          properties:
            message:
              type: string
              description: Human-readable error message.
              example: File not found
            data:
              type: object
              additionalProperties: true
              description: Additional data related to the error, if any.
          required:
          - message
      additionalProperties: false
    FileSummary:
      type: object
      description: Basic information about a file in storage.
      properties:
        id:
          type: string
          description: Unique identifier for the file.
          example: d5e76ceb-77a2-4153-b7da-1f7c115b2ff2
        name:
          type: string
          description: Name of the file including extension.
          example: profile-picture.jpg
        bucketId:
          type: string
          description: ID of the bucket containing the file.
          example: users-bucket
        isUploaded:
          type: boolean
          description: Whether the file has been successfully uploaded.
          example: true
      additionalProperties: false
      required:
      - id
      - name
      - bucketId
      - isUploaded
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication with JWT access token. Used to authenticate requests to protected endpoints.
    BearerAuthElevated:
      type: http
      scheme: bearer
      description: Bearer authentication that requires elevated permissions. Used for sensitive operations that may require additional security measures such as recent authentication. For details see https://docs.nhost.io/guides/auth/elevated-permissions