Skip to main content
POST
/
v1
/
prior-auth
/
authorizations
Create an authorization
curl --request POST \
  --url https://api.sandbox.trycollate.ai/v1/prior-auth/authorizations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "providerNpi": "<string>",
  "templateSelection": {
    "payerId": "<string>",
    "insuranceState": "<string>",
    "serviceType": "inpatient",
    "serviceCode": "<string>",
    "serviceCodeSystem": "hcpcs"
  }
}
'
{
  "id": "<string>",
  "version": 123,
  "status": "requires_input",
  "policy": {
    "finalSubmission": "automatic"
  },
  "providerNpi": "<string>",
  "payer": {
    "id": "<string>",
    "displayName": "<string>",
    "supportedStates": [
      "<string>"
    ],
    "supportedServiceTypes": [
      "inpatient"
    ],
    "aliases": [
      "<string>"
    ],
    "status": "<string>",
    "brand": "<string>",
    "lineOfBusiness": "<string>"
  },
  "templateSelection": {
    "payerId": "<string>",
    "insuranceState": "<string>",
    "serviceType": "inpatient",
    "serviceCode": "<string>",
    "serviceCodeSystem": "hcpcs"
  },
  "questionnaire": [
    {
      "id": "<string>",
      "title": "<string>",
      "items": [
        {
          "linkId": "<string>",
          "text": "<string>",
          "required": false,
          "answerType": "string",
          "options": [
            {
              "code": "<string>",
              "display": "<string>"
            }
          ],
          "pattern": "<string>",
          "maxLength": 123,
          "min": "<string>",
          "max": "<string>",
          "errorMessage": "<string>",
          "mode": "<string>",
          "defaultValue": {},
          "requiredWhen": {},
          "notAllowedWhen": {},
          "valuesWhen": {},
          "textWhen": {}
        }
      ]
    }
  ],
  "questionnaireResponse": {
    "item": [
      {
        "linkId": "<string>",
        "answer": [
          {
            "valueString": "<string>",
            "valueBoolean": true,
            "valueDate": "<string>",
            "valueDecimal": 123,
            "valueCoding": {
              "code": "<string>"
            }
          }
        ]
      }
    ]
  },
  "requirements": {
    "version": 123,
    "questions": [
      {
        "linkId": "<string>",
        "message": "<string>"
      }
    ],
    "documents": [
      {
        "type": "<string>",
        "message": "<string>"
      }
    ],
    "issues": [
      {
        "code": "<string>",
        "message": "<string>",
        "field": "<string>",
        "severity": "error"
      }
    ]
  },
  "submission": {
    "reviewSnapshot": {
      "id": "<string>",
      "generatedAt": "2023-11-07T05:31:56Z",
      "covers": {
        "authorizationVersion": 123,
        "requirementsVersion": 123,
        "questionnaireResponseVersion": 123,
        "attachmentVersion": 123
      },
      "status": "current",
      "kind": "final_submission",
      "summary": {},
      "questionnaireResponse": {
        "item": [
          {
            "linkId": "<string>",
            "answer": [
              {
                "valueString": "<string>",
                "valueBoolean": true,
                "valueDate": "<string>",
                "valueDecimal": 123,
                "valueCoding": {
                  "code": "<string>"
                }
              }
            ]
          }
        ]
      },
      "attachments": [
        {
          "id": "<string>",
          "fileId": "<string>",
          "createdAt": "2023-11-07T05:31:56Z",
          "documentTypes": [
            "<string>"
          ],
          "label": "<string>",
          "description": "<string>"
        }
      ],
      "warnings": [
        "<string>"
      ],
      "liveViewUrl": "<string>"
    },
    "payerReceipt": {
      "receivedAt": "2023-11-07T05:31:56Z",
      "referenceNumber": "<string>",
      "channel": "<string>",
      "payerStatusText": "<string>",
      "details": {}
    },
    "decision": {
      "receivedAt": "2023-11-07T05:31:56Z",
      "authorizationNumber": "<string>",
      "payerStatusText": "<string>",
      "effectiveFrom": "2023-11-07T05:31:56Z",
      "effectiveTo": "2023-11-07T05:31:56Z",
      "modifications": [
        "<string>"
      ],
      "denialReasons": [
        "<string>"
      ],
      "details": {}
    }
  },
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "outcome": "approved",
  "portalAuthMode": "automated",
  "attachments": [
    {
      "id": "<string>",
      "fileId": "<string>",
      "createdAt": "2023-11-07T05:31:56Z",
      "documentTypes": [
        "<string>"
      ],
      "label": "<string>",
      "description": "<string>"
    }
  ],
  "nextAction": {
    "id": "<string>",
    "type": "provide_requirements",
    "description": "<string>",
    "authorizationVersion": 123,
    "requirementsVersion": 123,
    "createdAt": "2023-11-07T05:31:56Z",
    "owner": "customer",
    "reviewSnapshotId": "<string>",
    "expiresAt": "2023-11-07T05:31:56Z"
  },
  "completedAt": "2023-11-07T05:31:56Z",
  "canceledAt": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.trycollate.ai/llms.txt

Use this file to discover all available pages before exploring further.

An authorization is the durable case Collate uses to track requirement collection, payer submission, receipt, and final outcome. Create one authorization per payer submission you want Collate to manage. The request pins the provider, payer route, service code, and final-submission policy. Optional initial answers are merged before the case is created. The response is the canonical authorization snapshot — questionnaire, current requirements, and nextAction — at version 1. Creating an authorization does not submit anything to the payer. Inspect the returned snapshot, resolve any blockers, and call Confirm an authorization only when the authorization exposes a confirmable nextAction. Reuse the same Idempotency-Key to retry a create safely. Reusing it with a different request body returns 409 idempotency_key_reused.

Returns

Returns the newly created authorization.

Authorizations

Authorization
string
header
default:your-api-key
required

API key passed as Authorization: Bearer <API_KEY>.

Headers

Idempotency-Key
string
required

Unique key used to retry command requests safely. Reusing the same key with a different request body returns 409 idempotency_key_reused.

Body

application/json
providerNpi
string
required

Provider NPI for the authorization.

templateSelection
TemplateSelection · object
required

Payer route and service code to use for the authorization.

policy
AuthorizationPolicy · object

Required final-submission policy for the authorization.

portalAuthMode
enum<string> | null

Portal auth mode to use when the selected route supports multiple modes.

Available options:
automated,
customer_login
questionnaireResponse
QuestionnaireResponse · object

Optional initial answer set to apply at create time.

Response

Successful Response

id
string
required

Stable authorization ID.

version
integer
required

Optimistic-concurrency version for mutable operations.

status
enum<string>
required

Current lifecycle status.

Available options:
requires_input,
requires_confirmation,
processing,
waiting_on_payer,
completed,
canceled
policy
AuthorizationPolicy · object
required

Authorization policy selected at create time.

providerNpi
string
required

Tenant-scoped provider NPI for the case.

payer
Payer · object
required

Canonical payer destination for the case.

templateSelection
TemplateSelection · object
required

Pinned route and service-code selection used for the authorization.

questionnaire
QuestionnaireGroup · object[]
required

Full current editable question surface.

questionnaireResponse
QuestionnaireResponse · object
required

Current normalized answer set.

requirements
Requirements · object
required

Current unresolved blocker set.

submission
AuthorizationSubmission · object
required

Submission review, receipt, and decision projections.

createdAt
string<date-time>
required

Time when the authorization was created.

updatedAt
string<date-time>
required

Time when the authorization last changed.

outcome
enum<string> | null

Terminal outcome when status = completed.

Available options:
approved,
denied,
modified,
not_required,
failed
portalAuthMode
enum<string>
default:automated

How Collate should access the payer portal for this route.

Available options:
automated,
customer_login
attachments
AuthorizationAttachment · object[]

Supporting documents linked to the authorization.

nextAction
AuthorizationNextAction · object

Current action, when one is open.

completedAt
string<date-time> | null

Time when the authorization reached completed.

canceledAt
string<date-time> | null

Time when the authorization reached canceled.