{
  "components": {
    "parameters": {
      "IdempotencyKey": {
        "description": "1-255 printable ASCII characters, unique per intended write and scoped to the API key sending it. A retry with the same key and the same request (method, path, query string and body) replays the first answer; the same key with any other request is 422. While the first request is still running, a retry is 409: wait and retry. Keys bind for 24 hours.",
        "in": "header",
        "name": "Idempotency-Key",
        "required": true,
        "schema": {
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        }
      }
    },
    "responses": {},
    "schemas": {
      "Error": {
        "description": "Every error on the API. The details field appears on a 422 and maps each invalid field to its messages.",
        "properties": {
          "error": {
            "properties": {
              "code": {
                "description": "Stable, machine-readable, for example not_found or idempotency_key_reused.",
                "type": "string"
              },
              "details": {
                "description": "On a 422: each invalid field to a list of its messages. A nested record's field maps to an object of the same shape, and a list of nested records to a list of such objects.",
                "type": "object"
              },
              "message": {
                "description": "For a person to read.",
                "type": "string"
              }
            },
            "required": [
              "code",
              "message"
            ],
            "type": "object"
          }
        },
        "required": [
          "error"
        ],
        "title": "Error",
        "type": "object"
      },
      "Page": {
        "description": "One page of a list. The total counts every matching record under the same filters, so a client can tell the whole list from the first page.",
        "properties": {
          "data": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "limit": {
            "description": "Rows asked for (default 100); a larger request is served 200.",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "offset": {
            "description": "Rows skipped.",
            "maximum": 1000000,
            "minimum": 0,
            "type": "integer"
          },
          "total": {
            "description": "Every matching row.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "data",
          "limit",
          "offset",
          "total"
        ],
        "title": "Page",
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearer": {
        "description": "An agency API key, created on the agency's Settings page.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "Read and write an agency's billing records. Authenticate with an agency API key as a bearer token. Every POST made with an API key needs an Idempotency-Key header.",
    "title": "HomeCareBilling API",
    "version": "1"
  },
  "openapi": "3.0.0",
  "paths": {
    "/api/v1/openapi.json": {
      "get": {
        "callbacks": {},
        "description": "This document. No credential is needed.",
        "operationId": "getOpenapiJson",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "The OpenAPI 3 document"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "An error, in the shared envelope."
          }
        },
        "security": [],
        "summary": "The OpenAPI document",
        "tags": [
          "Documentation"
        ]
      }
    }
  },
  "security": [
    {
      "bearer": []
    }
  ],
  "servers": [
    {
      "url": "https://www.homecarebilling.co",
      "variables": {}
    }
  ],
  "tags": []
}
