Skip to main content
Operations in Insurance plans
GET /api/v1/insurance-plans

Put the plan you find on a coverage as planId.

The integration client needs PATIENT_COVERAGE:READ. A practice owner grants it under Permissions on the client.

Request

Language
curl 'https://dashboard.practor.app/api/v1/insurance-plans?name=Classic' \
  -H "Authorization: Bearer $PRACTOR_API_KEY"
const response = await fetch("https://dashboard.practor.app/api/v1/insurance-plans?name=Classic", {
  headers: {
    Authorization: `Bearer ${process.env.PRACTOR_API_KEY}`,
  },
});
const resource = await response.json();
import os, uuid
import requests

response = requests.get(
    "https://dashboard.practor.app/api/v1/insurance-plans?name=Classic",
    headers={
        "Authorization": f"Bearer {os.environ['PRACTOR_API_KEY']}",
    },
)
resource = response.json()
Response 200
{
  "object": "list",
  "data": [
    {
      "object": "insurance_plan",
      "id": "n6m1b5v8c2x4z7a9s3d0f5gh",
      "name": "Classic",
      "aliases": [
        "Classic Saver"
      ],
      "active": true,
      "optionCode": "600830",
      "insurerId": "o1r5g9a3n7i2z6a0t4i8o3np",
      "insurerName": "Example Medical Scheme"
    }
  ],
  "hasMore": true,
  "nextCursor": "string"
}

Parameters

Query

name string

Part of the plan name, at least two characters.

optionCode string

The plan option's code, as the scheme publishes it.

limit integer

How many to answer with, from 1 to 100. The default is 50.

Defaults to 50. At least 1. At most 100.

cursor string

The nextCursor of the page before, for the page after it.

Responses

200 A page of the insurance plans that match, in data. While hasMore is true, send nextCursor back as cursor for the next page.

Headers

X-Request-Id string Required

Quote it if you contact support about this request.

X-RateLimit-Limit string Required

Requests allowed in the current window.

X-RateLimit-Remaining string Required

Requests left in the current window.

X-RateLimit-Reset string Required

When the window resets, in seconds since the Unix epoch.

Body

InsurancePlanList

  • object "list" Required
  • data array of InsurancePlan Required
    • object "insurance_plan" Required
    • id string Required
    • name string Required
    • aliases array of string Required
    • active boolean Required

      False once the plan is no longer offered.

    • optionCode string or null Required

      The plan option's code.

    • insurerId string or null Required

      The scheme the plan belongs to.

    • insurerName string or null Required
  • hasMore boolean Required

    Whether another page follows this one.

  • nextCursor string or null Required

    Send it as cursor for the next page. Null on the last page.

Example 200 body
{
  "object": "list",
  "data": [
    {
      "object": "insurance_plan",
      "id": "n6m1b5v8c2x4z7a9s3d0f5gh",
      "name": "Classic",
      "aliases": [
        "Classic Saver"
      ],
      "active": true,
      "optionCode": "600830",
      "insurerId": "o1r5g9a3n7i2z6a0t4i8o3np",
      "insurerName": "Example Medical Scheme"
    }
  ],
  "hasMore": true,
  "nextCursor": "string"
}
400 A query parameter or header is missing or malformed, or the body isn't JSON. errors names the parameter.

Body

Problem

  • type string Required

    Where the error is explained: https://developers.practor.app/guides/errors# and the code, with hyphens for underscores.

  • title string Required

    A short summary of the kind of problem.

  • status integer Required

    The HTTP status, repeated.

    At least -9007199254740991. At most 9007199254740991.

  • detail string Required

    What went wrong with this request, in a sentence you can show a person.

  • code string Required

    The kind of problem. It stays the same across releases, so branch on it.

    One of invalid_request, invalid_cursor, validation_failed, unauthenticated, forbidden, addon_inactive, not_found, method_not_allowed, conflict, duplicate, business_rule, unprocessable, idempotency_key_reused, payload_too_large, unsupported_media_type, rate_limited, internal_error, service_unavailable.

  • requestId string Required

    The same as the X-Request-Id header. Quote it if you contact support.

  • errors array of FieldError

    One entry per field that is missing or wrong, all at once, so you can fix a request in one round trip.

    • field string Required

      The field, query parameter or header the problem is in. A field in the body is a dotted path, such as givenNames.0 or procedures.1.code.

    • code string Required

      required when it was left out, invalid when its value is wrong.

      One of required, invalid.

    • message string Required

      What was wrong, in a sentence you can show a person.

Example 400 body
{
  "type": "https://developers.practor.app/guides/errors#validation-failed",
  "title": "Some fields are missing or wrong",
  "status": 422,
  "detail": "Fix the fields listed in errors and send it again.",
  "code": "validation_failed",
  "requestId": "x9k2m4p7q1w8e3r6t5y0u2i4",
  "errors": [
    {
      "field": "lastName",
      "code": "required",
      "message": "Send lastName."
    },
    {
      "field": "birthDate",
      "code": "invalid",
      "message": "birthDate must be a real date, written YYYY-MM-DD"
    }
  ]
}
401 No key was sent, or the key cannot be used: unknown, revoked or expired, its client suspended, or the call made from outside its allowed addresses. All of these answer the same way; the practice audit log names which it was.

Body

Problem

  • type string Required

    Where the error is explained: https://developers.practor.app/guides/errors# and the code, with hyphens for underscores.

  • title string Required

    A short summary of the kind of problem.

  • status integer Required

    The HTTP status, repeated.

    At least -9007199254740991. At most 9007199254740991.

  • detail string Required

    What went wrong with this request, in a sentence you can show a person.

  • code string Required

    The kind of problem. It stays the same across releases, so branch on it.

    One of invalid_request, invalid_cursor, validation_failed, unauthenticated, forbidden, addon_inactive, not_found, method_not_allowed, conflict, duplicate, business_rule, unprocessable, idempotency_key_reused, payload_too_large, unsupported_media_type, rate_limited, internal_error, service_unavailable.

  • requestId string Required

    The same as the X-Request-Id header. Quote it if you contact support.

  • errors array of FieldError

    One entry per field that is missing or wrong, all at once, so you can fix a request in one round trip.

    • field string Required

      The field, query parameter or header the problem is in. A field in the body is a dotted path, such as givenNames.0 or procedures.1.code.

    • code string Required

      required when it was left out, invalid when its value is wrong.

      One of required, invalid.

    • message string Required

      What was wrong, in a sentence you can show a person.

Example 401 body
{
  "type": "https://developers.practor.app/guides/errors#validation-failed",
  "title": "Some fields are missing or wrong",
  "status": 422,
  "detail": "Fix the fields listed in errors and send it again.",
  "code": "validation_failed",
  "requestId": "x9k2m4p7q1w8e3r6t5y0u2i4",
  "errors": [
    {
      "field": "lastName",
      "code": "required",
      "message": "Send lastName."
    },
    {
      "field": "birthDate",
      "code": "invalid",
      "message": "birthDate must be a real date, written YYYY-MM-DD"
    }
  ]
}
403 The client lacks the permission this endpoint needs, or the practice's Integrations add-on is off.

Body

Problem

  • type string Required

    Where the error is explained: https://developers.practor.app/guides/errors# and the code, with hyphens for underscores.

  • title string Required

    A short summary of the kind of problem.

  • status integer Required

    The HTTP status, repeated.

    At least -9007199254740991. At most 9007199254740991.

  • detail string Required

    What went wrong with this request, in a sentence you can show a person.

  • code string Required

    The kind of problem. It stays the same across releases, so branch on it.

    One of invalid_request, invalid_cursor, validation_failed, unauthenticated, forbidden, addon_inactive, not_found, method_not_allowed, conflict, duplicate, business_rule, unprocessable, idempotency_key_reused, payload_too_large, unsupported_media_type, rate_limited, internal_error, service_unavailable.

  • requestId string Required

    The same as the X-Request-Id header. Quote it if you contact support.

  • errors array of FieldError

    One entry per field that is missing or wrong, all at once, so you can fix a request in one round trip.

    • field string Required

      The field, query parameter or header the problem is in. A field in the body is a dotted path, such as givenNames.0 or procedures.1.code.

    • code string Required

      required when it was left out, invalid when its value is wrong.

      One of required, invalid.

    • message string Required

      What was wrong, in a sentence you can show a person.

Example 403 body
{
  "type": "https://developers.practor.app/guides/errors#validation-failed",
  "title": "Some fields are missing or wrong",
  "status": 422,
  "detail": "Fix the fields listed in errors and send it again.",
  "code": "validation_failed",
  "requestId": "x9k2m4p7q1w8e3r6t5y0u2i4",
  "errors": [
    {
      "field": "lastName",
      "code": "required",
      "message": "Send lastName."
    },
    {
      "field": "birthDate",
      "code": "invalid",
      "message": "birthDate must be a real date, written YYYY-MM-DD"
    }
  ]
}
405 This endpoint doesn't take that method. The Allow header names the one it does.

Body

Problem

  • type string Required

    Where the error is explained: https://developers.practor.app/guides/errors# and the code, with hyphens for underscores.

  • title string Required

    A short summary of the kind of problem.

  • status integer Required

    The HTTP status, repeated.

    At least -9007199254740991. At most 9007199254740991.

  • detail string Required

    What went wrong with this request, in a sentence you can show a person.

  • code string Required

    The kind of problem. It stays the same across releases, so branch on it.

    One of invalid_request, invalid_cursor, validation_failed, unauthenticated, forbidden, addon_inactive, not_found, method_not_allowed, conflict, duplicate, business_rule, unprocessable, idempotency_key_reused, payload_too_large, unsupported_media_type, rate_limited, internal_error, service_unavailable.

  • requestId string Required

    The same as the X-Request-Id header. Quote it if you contact support.

  • errors array of FieldError

    One entry per field that is missing or wrong, all at once, so you can fix a request in one round trip.

    • field string Required

      The field, query parameter or header the problem is in. A field in the body is a dotted path, such as givenNames.0 or procedures.1.code.

    • code string Required

      required when it was left out, invalid when its value is wrong.

      One of required, invalid.

    • message string Required

      What was wrong, in a sentence you can show a person.

Example 405 body
{
  "type": "https://developers.practor.app/guides/errors#validation-failed",
  "title": "Some fields are missing or wrong",
  "status": 422,
  "detail": "Fix the fields listed in errors and send it again.",
  "code": "validation_failed",
  "requestId": "x9k2m4p7q1w8e3r6t5y0u2i4",
  "errors": [
    {
      "field": "lastName",
      "code": "required",
      "message": "Send lastName."
    },
    {
      "field": "birthDate",
      "code": "invalid",
      "message": "birthDate must be a real date, written YYYY-MM-DD"
    }
  ]
}
429 Too many requests. Wait the number of seconds in the Retry-After header, then send it again.

Body

Problem

  • type string Required

    Where the error is explained: https://developers.practor.app/guides/errors# and the code, with hyphens for underscores.

  • title string Required

    A short summary of the kind of problem.

  • status integer Required

    The HTTP status, repeated.

    At least -9007199254740991. At most 9007199254740991.

  • detail string Required

    What went wrong with this request, in a sentence you can show a person.

  • code string Required

    The kind of problem. It stays the same across releases, so branch on it.

    One of invalid_request, invalid_cursor, validation_failed, unauthenticated, forbidden, addon_inactive, not_found, method_not_allowed, conflict, duplicate, business_rule, unprocessable, idempotency_key_reused, payload_too_large, unsupported_media_type, rate_limited, internal_error, service_unavailable.

  • requestId string Required

    The same as the X-Request-Id header. Quote it if you contact support.

  • errors array of FieldError

    One entry per field that is missing or wrong, all at once, so you can fix a request in one round trip.

    • field string Required

      The field, query parameter or header the problem is in. A field in the body is a dotted path, such as givenNames.0 or procedures.1.code.

    • code string Required

      required when it was left out, invalid when its value is wrong.

      One of required, invalid.

    • message string Required

      What was wrong, in a sentence you can show a person.

Example 429 body
{
  "type": "https://developers.practor.app/guides/errors#validation-failed",
  "title": "Some fields are missing or wrong",
  "status": 422,
  "detail": "Fix the fields listed in errors and send it again.",
  "code": "validation_failed",
  "requestId": "x9k2m4p7q1w8e3r6t5y0u2i4",
  "errors": [
    {
      "field": "lastName",
      "code": "required",
      "message": "Send lastName."
    },
    {
      "field": "birthDate",
      "code": "invalid",
      "message": "birthDate must be a real date, written YYYY-MM-DD"
    }
  ]
}
500 Something went wrong on our side. Quote the X-Request-Id if you contact support.

Body

Problem

  • type string Required

    Where the error is explained: https://developers.practor.app/guides/errors# and the code, with hyphens for underscores.

  • title string Required

    A short summary of the kind of problem.

  • status integer Required

    The HTTP status, repeated.

    At least -9007199254740991. At most 9007199254740991.

  • detail string Required

    What went wrong with this request, in a sentence you can show a person.

  • code string Required

    The kind of problem. It stays the same across releases, so branch on it.

    One of invalid_request, invalid_cursor, validation_failed, unauthenticated, forbidden, addon_inactive, not_found, method_not_allowed, conflict, duplicate, business_rule, unprocessable, idempotency_key_reused, payload_too_large, unsupported_media_type, rate_limited, internal_error, service_unavailable.

  • requestId string Required

    The same as the X-Request-Id header. Quote it if you contact support.

  • errors array of FieldError

    One entry per field that is missing or wrong, all at once, so you can fix a request in one round trip.

    • field string Required

      The field, query parameter or header the problem is in. A field in the body is a dotted path, such as givenNames.0 or procedures.1.code.

    • code string Required

      required when it was left out, invalid when its value is wrong.

      One of required, invalid.

    • message string Required

      What was wrong, in a sentence you can show a person.

Example 500 body
{
  "type": "https://developers.practor.app/guides/errors#validation-failed",
  "title": "Some fields are missing or wrong",
  "status": 422,
  "detail": "Fix the fields listed in errors and send it again.",
  "code": "validation_failed",
  "requestId": "x9k2m4p7q1w8e3r6t5y0u2i4",
  "errors": [
    {
      "field": "lastName",
      "code": "required",
      "message": "Send lastName."
    },
    {
      "field": "birthDate",
      "code": "invalid",
      "message": "birthDate must be a real date, written YYYY-MM-DD"
    }
  ]
}
503 The request couldn't be written to the practice audit log, so its result is withheld. Wait the number of seconds in the Retry-After header, then send it again.

Body

Problem

  • type string Required

    Where the error is explained: https://developers.practor.app/guides/errors# and the code, with hyphens for underscores.

  • title string Required

    A short summary of the kind of problem.

  • status integer Required

    The HTTP status, repeated.

    At least -9007199254740991. At most 9007199254740991.

  • detail string Required

    What went wrong with this request, in a sentence you can show a person.

  • code string Required

    The kind of problem. It stays the same across releases, so branch on it.

    One of invalid_request, invalid_cursor, validation_failed, unauthenticated, forbidden, addon_inactive, not_found, method_not_allowed, conflict, duplicate, business_rule, unprocessable, idempotency_key_reused, payload_too_large, unsupported_media_type, rate_limited, internal_error, service_unavailable.

  • requestId string Required

    The same as the X-Request-Id header. Quote it if you contact support.

  • errors array of FieldError

    One entry per field that is missing or wrong, all at once, so you can fix a request in one round trip.

    • field string Required

      The field, query parameter or header the problem is in. A field in the body is a dotted path, such as givenNames.0 or procedures.1.code.

    • code string Required

      required when it was left out, invalid when its value is wrong.

      One of required, invalid.

    • message string Required

      What was wrong, in a sentence you can show a person.

Example 503 body
{
  "type": "https://developers.practor.app/guides/errors#validation-failed",
  "title": "Some fields are missing or wrong",
  "status": 422,
  "detail": "Fix the fields listed in errors and send it again.",
  "code": "validation_failed",
  "requestId": "x9k2m4p7q1w8e3r6t5y0u2i4",
  "errors": [
    {
      "field": "lastName",
      "code": "required",
      "message": "Send lastName."
    },
    {
      "field": "birthDate",
      "code": "invalid",
      "message": "birthDate must be a real date, written YYYY-MM-DD"
    }
  ]
}