HumanAPI subscriptions API

The subscriptions API from HumanAPI — 2 operation(s) for subscriptions.

OpenAPI Specification

humanapi-subscriptions-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  description: You can use Admin API to create and manage your Human API users
  version: 1.0.0
  title: admin subscriptions API
  termsOfService: https://www.humanapi.co/developer-terms
  contact:
    email: help@humanapi.co
    url: https://www.humanapi.co/contact
servers:
- url: https://admin.humanapi.co
  description: Production server
security:
- bearerAuth: []
tags:
- name: subscriptions
paths:
  /api/v1/subscriptions:
    get:
      tags:
      - subscriptions
      description: Find a subscription
      parameters:
      - $ref: '#/components/parameters/clientUserId'
      - $ref: '#/components/parameters/subscriberEmail'
      - $ref: '#/components/parameters/role'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/query'
      - $ref: '#/components/parameters/sort'
      operationId: getUsersSubscriptions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/subscription'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/notFound'
    post:
      tags:
      - subscriptions
      description: Create a new subscription
      operationId: createSubscription
      requestBody:
        description: Subscription details to add to the system
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/subscription'
            examples:
              createNewSubscription:
                summary: Create a user and send an invitation email
                value:
                  clientUserId: whateverIdValueYouWant
                  subscriberEmail: agent@acme.co
                  subscriberFirstName: Jane
                  subscriberLastName: Doe
                  subscriberOffice: nw676
                  role: producer
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/subscription'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/notFound'
        '409':
          $ref: '#/components/responses/conflict'
  /api/v1/subscriptions/{subscriptionId}:
    get:
      tags:
      - subscriptions
      description: Get the details of a specific subscription (by subscription id)
      operationId: getSubscriptionDetails
      parameters:
      - $ref: '#/components/parameters/subscriptionIdPath'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subscription'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/notFound'
    delete:
      tags:
      - subscriptions
      description: Delete a specific subscription (by subscription id)
      operationId: deleteSubscription
      parameters:
      - $ref: '#/components/parameters/subscriptionIdPath'
      responses:
        '200':
          description: OK
components:
  responses:
    conflict:
      description: There is a conflict with the specified resource (e.g. it may already exist)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            code: 409
            error: Conflict
            message: Unable to match the login of the new user to an existing user found for that user
            x-humanapi-request-id: 05518ca2-1c9a-434e-8512-7284bbc54137
    notFound:
      description: The specified resource was not found (e.g. the id does not exist)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            code: 404
            error: Not Found
            message: Not Found
            x-humanapi-request-id: 05518ca2-1c9a-434e-8512-7284bbc54137
    unauthorized:
      description: The token provided is invalid. It may have expired or may have been revoked.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            code: 401
            error: Unauthorized
            message: Cannot authenticate you with this token
            x-humanapi-request-id: 05518ca2-1c9a-434e-8512-7284bbc54137
  parameters:
    role:
      name: role
      in: query
      description: The role that the subscription is bound to.
      required: true
      schema:
        type: string
        enum:
        - producer
    subscriberEmail:
      name: subscriberEmail
      in: query
      description: The email that the subscription is bound to
      required: true
      schema:
        type: string
    query:
      name: query
      in: query
      description: The search string for pagination
      required: false
      schema:
        type: string
    subscriptionIdPath:
      name: subscriptionId
      in: path
      description: The subscriptionId of the user
      required: true
      schema:
        type: string
    clientUserId:
      name: clientUserId
      in: query
      description: The clientUserId of user.
      required: true
      schema:
        type: string
    limit:
      name: limit
      in: query
      description: The max number of records to return in one query
      required: false
      schema:
        type: integer
        format: int32
        default: 50
    sort:
      name: sort
      in: query
      description: The sort option for pagination
      required: false
      schema:
        type: string
    offset:
      name: offset
      in: query
      description: The index of the first record to return
      required: false
      schema:
        type: integer
        format: int32
        default: 0
  schemas:
    subscription:
      type: object
      required:
      - clientUserId
      - subscriberEmail
      - role
      properties:
        clientUserId:
          type: string
        subscriberEmail:
          type: string
        role:
          type: string
        subscriberOffice:
          type: string
        subscriberFirstName:
          type: string
        subscriberLastName:
          type: string
    error:
      type: object
      required:
      - statusCode
      - error
      - message
      - x-humanapi-request-id
      properties:
        code:
          type: integer
          format: int32
        error:
          type: string
        message:
          type: string
        x-humanapi-request-id:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-readme:
  explorer-enabled: true
  proxy-enabled: true