Ovok API

Ovok API as documented publicly: 25 operations. Contract generated from the documentation by API Evangelist (2026-11-08); not the provider's own document.

GitHub OpenAPI

Operations 25

GET /accounts GET /accounts #
POST /fhir/R4 POST /fhir/R4 with a Bundle of type batch or transaction to perform batch or transaction operations. #
GET /fhir/R4/Account Search #
GET /fhir/R4/Bundle Bundle A container for a collection of resources. #
POST /fhir/R4/Consent Consent A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy conte #
GET /fhir/R4/Device Device A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. #
POST /fhir/R4/Device Device A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. #
GET /fhir/R4/Goal Goal Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via imm #
POST /fhir/R4/Goal Goal Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via imm #
GET /fhir/R4/List List A list is a curated collection of resources. #
POST /fhir/R4/List List A list is a curated collection of resources. #
GET /fhir/R4/Media Media A photo, video, or audio recording acquired or used in healthcare. #
POST /fhir/R4/Media Media A photo, video, or audio recording acquired or used in healthcare. #
GET /fhir/R4/Observation Search Observations, e.g., to retrieve a patient's heart rates. #
GET /fhir/R4/Observation/$lastn GET /fhir/R4/Observation/$lastn #
GET /fhir/R4/Patient Search Patients. #
POST /fhir/R4/Patient Create a Patient; with ?withSignals=true the Patient is also enrolled in Signals. #
GET /fhir/R4/Patient/${PATIENT_ID} Read a Patient by its id. #
POST /fhir/R4/Patient/${PATIENT_ID} POST /fhir/R4/Patient/${PATIENT_ID} #
GET /fhir/R4/Slot Slot A slot of time on a schedule that may be available for booking appointments. #
GET /fhir/R4/metadata GET /fhir/R4/metadata needs no token and returns Ovok's own CapabilityStatement. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ovok:ovok-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ovok-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Ovok API
  version: '2026-11-08'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-08: 25 operation(s) read from 17 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; Ovok has published no machine-readable contract that
    the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 3
    documentation: 22
    pages-with-code: 2
    pages-read: 17
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-08'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://docs.ovok.com/api
  - https://docs.ovok.com/api/fhir
  - https://docs.ovok.com/api/fhir/r4/flag
  - https://docs.ovok.com/api/fhir/r4/goal
  - https://docs.ovok.com/api/fhir/r4/list
  - https://docs.ovok.com/api/fhir/r4/slot
  - https://docs.ovok.com/api/fhir/r4/task
  - https://docs.ovok.com/api/fhir/r4/basic
  - https://docs.ovok.com/api/fhir/r4/claim
  - https://docs.ovok.com/api/fhir/r4/group
  - https://docs.ovok.com/api/fhir/r4/media
  - https://docs.ovok.com/api/fhir/r4/binary
  - https://docs.ovok.com/api/fhir/r4/bundle
  - https://docs.ovok.com/api/fhir/r4/device
  - https://docs.ovok.com/api/fhir/r4/person
  - https://docs.ovok.com/api/fhir/r4/account
  - https://docs.ovok.com/api/fhir/r4/consent
servers:
- url: https://api.sandbox.ovok.com
paths:
  /accounts:
    get:
      operationId: get_accounts
      tags:
      - Accounts
      summary: GET /accounts
      x-source: https://docs.ovok.com/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X GET 'https://api.sandbox.ovok.com/accounts'  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'\n\
          ```\n On this page Errors on every route Availability See also"
  /fhir/R4:
    post:
      operationId: post_fhir_R4
      tags:
      - Fhir
      summary: POST /fhir/R4 with a Bundle of type batch or transaction to perform batch or transaction operations.
      x-source: https://docs.ovok.com/api/fhir
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostFhirR4Request'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/Account:
    get:
      operationId: get_fhir_R4_Account
      tags:
      - Fhir
      summary: Search
      x-source: https://docs.ovok.com/api/fhir/r4/account
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/Bundle:
    get:
      operationId: get_fhir_R4_Bundle
      tags:
      - Fhir
      summary: Bundle A container for a collection of resources.
      x-source: https://docs.ovok.com/api/fhir/r4/bundle
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFhirR4BundleResponse'
      x-evidence:
        kind: documentation
  /fhir/R4/Consent:
    delete:
      operationId: delete_fhir_R4_Consent
      tags:
      - Fhir
      summary: Consent A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform
        one or more actions within a given policy context, for specific pur
      x-source: https://docs.ovok.com/api/fhir/r4/consent
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    get:
      operationId: get_fhir_R4_Consent
      tags:
      - Fhir
      summary: Consent A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform
        one or more actions within a given policy context, for specific pur
      x-source: https://docs.ovok.com/api/fhir/r4/consent
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    patch:
      operationId: patch_fhir_R4_Consent
      tags:
      - Fhir
      summary: Consent A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform
        one or more actions within a given policy context, for specific pur
      x-source: https://docs.ovok.com/api/fhir/r4/consent
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_fhir_R4_Consent
      tags:
      - Fhir
      summary: Consent A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform
        one or more actions within a given policy context, for specific pur
      x-source: https://docs.ovok.com/api/fhir/r4/consent
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    put:
      operationId: put_fhir_R4_Consent
      tags:
      - Fhir
      summary: Consent A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform
        one or more actions within a given policy context, for specific pur
      x-source: https://docs.ovok.com/api/fhir/r4/consent
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/Device:
    get:
      operationId: get_fhir_R4_Device
      tags:
      - Fhir
      summary: Device A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that
        activity.
      x-source: https://docs.ovok.com/api/fhir/r4/device
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_fhir_R4_Device
      tags:
      - Fhir
      summary: Device A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that
        activity.
      x-source: https://docs.ovok.com/api/fhir/r4/device
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostFhirR4DeviceRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/Goal:
    get:
      operationId: get_fhir_R4_Goal
      tags:
      - Fhir
      summary: Goal Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity
        of daily living, obtaining herd immunity via immunization, meeting a
      x-source: https://docs.ovok.com/api/fhir/r4/goal
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_fhir_R4_Goal
      tags:
      - Fhir
      summary: Goal Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity
        of daily living, obtaining herd immunity via immunization, meeting a
      x-source: https://docs.ovok.com/api/fhir/r4/goal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostFhirR4GoalRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/List:
    get:
      operationId: get_fhir_R4_List
      tags:
      - Fhir
      summary: List A list is a curated collection of resources.
      x-source: https://docs.ovok.com/api/fhir/r4/list
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_fhir_R4_List
      tags:
      - Fhir
      summary: List A list is a curated collection of resources.
      x-source: https://docs.ovok.com/api/fhir/r4/list
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/Media:
    get:
      operationId: get_fhir_R4_Media
      tags:
      - Fhir
      summary: Media A photo, video, or audio recording acquired or used in healthcare.
      x-source: https://docs.ovok.com/api/fhir/r4/media
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_fhir_R4_Media
      tags:
      - Fhir
      summary: Media A photo, video, or audio recording acquired or used in healthcare.
      x-source: https://docs.ovok.com/api/fhir/r4/media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostFhirR4MediaRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/Observation:
    get:
      operationId: get_fhir_R4_Observation
      tags:
      - Fhir
      summary: Search Observations, e.g., to retrieve a patient's heart rates.
      x-source: https://docs.ovok.com/api/fhir
      parameters:
      - name: patient
        in: query
        required: false
        schema:
          type: string
        description: Reference to the patient, e.g., Patient/{id}.
      - name: code
        in: query
        required: false
        schema:
          type: string
        description: LOINC code filter.
      - name: _sort
        in: query
        required: false
        schema:
          type: string
        description: Sorting parameter.
      - name: _count
        in: query
        required: false
        schema:
          type: string
        description: Page size.
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/Observation/$lastn:
    get:
      operationId: get_fhir_R4_Observation_lastn
      tags:
      - Fhir
      summary: GET /fhir/R4/Observation/$lastn
      x-source: https://docs.ovok.com/api/fhir
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl --get 'https://api.sandbox.ovok.com/fhir/R4/Observation/$lastn'  --header \"Authorization: Bearer ${OVOK_TOKEN}\"  --data-urlencode\
          \ \"patient=Patient/${PATIENT_ID}\"  --data-urlencode 'max=1'  --data-urlencode 'code=8867-4,9279-1' \n Caveats Copy Anchor Link \n\
          \ Wearable and device Observations sit together. A heart rate from a connected wearable uses the same LOINC code as one from a device,\
          \ so $la"
  /fhir/R4/Patient:
    get:
      operationId: get_fhir_R4_Patient
      tags:
      - Fhir
      summary: Search Patients.
      x-source: https://docs.ovok.com/api/fhir
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_fhir_R4_Patient
      tags:
      - Fhir
      summary: Create a Patient; with ?withSignals=true the Patient is also enrolled in Signals.
      x-source: https://docs.ovok.com/api/fhir
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostFhirR4PatientRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/Patient/${PATIENT_ID}:
    get:
      operationId: get_fhir_R4_Patient_PATIENT_ID
      tags:
      - Fhir
      summary: Read a Patient by its id.
      x-source: https://docs.ovok.com/api/fhir
      parameters:
      - name: PATIENT_ID
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_fhir_R4_Patient_PATIENT_ID
      tags:
      - Fhir
      summary: POST /fhir/R4/Patient/${PATIENT_ID}
      x-source: https://docs.ovok.com/api/fhir
      parameters:
      - name: PATIENT_ID
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostFhirR4PatientPatientIdRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://api.sandbox.ovok.com/fhir/R4/Patient/${PATIENT_ID}\"  --header \"Authorization: Bearer ${OVOK_TOKEN}\" \n Search\
          \ a patient's heart rates, newest first: \n Copy Text curl --get 'https://api.sandbox.ovok.com/fhir/R4/Observation'  --header \"Authorization:\
          \ Bearer ${OVOK_TOKEN}\"  --data-urlencode \"patient=Patient/${PATIENT_ID}\"  --data-urlencode 'code=http://loinc.org|8867-4'  --data-urlencode"
  /fhir/R4/Slot:
    get:
      operationId: get_fhir_R4_Slot
      tags:
      - Fhir
      summary: Slot A slot of time on a schedule that may be available for booking appointments.
      x-source: https://docs.ovok.com/api/fhir/r4/slot
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /fhir/R4/metadata:
    get:
      operationId: get_fhir_R4_metadata
      tags:
      - Fhir
      summary: GET /fhir/R4/metadata needs no token and returns Ovok's own CapabilityStatement.
      x-source: https://docs.ovok.com/api/fhir
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    PostFhirR4Request:
      type: object
      properties:
        Bundle:
          type: string
          description: A FHIR Bundle of type batch or transaction.
      required:
      - Bundle
    GetFhirR4BundleResponse:
      type: object
      properties:
        id:
          type: string
          description: Logical id of this artifact
        meta:
          type: string
          description: Metadata about the resource
        implicitRules:
          type: string
          description: A set of rules under which this content was created
        language:
          type: string
          description: Language of the resource content
        identifier:
          type: string
          description: Persistent identifier for the bundle
        type:
          type: string
          description: document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
        timestamp:
          type: string
          description: When the bundle was assembled
        total:
          type: string
          description: If search, the total number of matches
        link:
          type: string
          description: Links related to this Bundle
        entry:
          type: string
          description: Entry in the bundle - will have a resource or information
        signature:
          type: string
          description: Digital Signature
    PostFhirR4DeviceRequest:
      type: object
      properties:
        id:
          type: string
          description: Logical id of this artifact
        meta:
          type: string
          description: Metadata about the resource
        implicitRules:
          type: string
          description: A set of rules under which this content was created
        language:
          type: string
          description: Language of the resource content
        text:
          type: string
          description: Text summary of the resource, for human interpretation
        contained:
          type: string
          description: Contained, inline Resources
        extension:
          type: string
          description: Additional content defined by implementations
        modifierExtension:
          type: string
          description: Extensions that cannot be ignored
        identifier:
          type: string
          description: Instance identifier
        definition:
          type: string
          description: The reference to the definition for the device
        udiCarrier:
          type: string
          description: Unique Device Identifier (UDI) Barcode
        status:
          type: string
          description: active | inactive | entered-in-error | unknown
        statusReason:
          type: string
          description: online | paused | standby | offline | not-ready | transduc-discon | hw-discon | off
        distinctIdentifier:
          type: string
          description: The distinct identification string
        manufacturer:
          type: string
          description: Name of device manufacturer
        manufactureDate:
          type: string
          description: Date when the device was made
        expirationDate:
          type: string
          description: Date and time of expiry of this device (if applicable)
        lotNumber:
          type: string
          description: Lot number of manufacture
        serialNumber:
          type: string
          description: Serial number assigned by the manufacturer
        deviceName:
          type: string
          description: The name of the device as given by the manufacturer
        modelNumber:
          type: string
          description: The model number for the device
        partNumber:
          type: string
          description: The part number of the device type
        type:
          type: string
          description: The kind or type of device
        specialization:
          type: string
          description: The capabilities supported on a device
        version:
          type: string
          description: The actual design of the device or software version running on the device
        property:
          type: string
          description: The actual configuration settings of a device as it actually operates
        patient:
          type: string
          description: Patient to whom Device is affixed
        owner:
          type: string
          description: Organization responsible for device
        contact:
          type: string
          description: Details for human/organization for support
        location:
          type: string
          description: Where the device is found
        url:
          type: string
          description: Network address to contact device
        note:
          type: string
          description: Device notes and comments
        safety:
          type: string
          description: Safety Characteristics of Device
        parent:
          type: string
          description: The parent device
    PostFhirR4GoalRequest:
      type: object
      properties:
        id:
          type: string
          description: Logical id of this artifact
        meta:
          type: string
          description: Metadata about the resource
        implicitRules:
          type: string
          description: A set of rules under which this content was created
        language:
          type: string
          description: Language of the resource content
        text:
          type: string
          description: Text summary of the resource, for human interpretation
        contained:
          type: string
          description: Contained, inline Resources
        extension:
          type: string
          description: Additional content defined by implementations
        modifierExtension:
          type: string
          description: Extensions that cannot be ignored
        identifier:
          type: string
          description: External Ids for this goal
        lifecycleStatus:
          type: string
          description: proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
        achievementStatus:
          type: string
          description: in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable
        category:
          type: string
          description: E.g. Treatment, dietary, behavioral, etc.
        priority:
          type: string
          description: high-priority | medium-priority | low-priority
        description:
          type: string
          description: Code or text describing goal
        subject:
          type: string
          description: Who this goal is intended for
        start[x]:
          type: string
          description: When goal pursuit begins
        target:
          type: string
          description: Target outcome for the goal
        statusDate:
          type: string
          description: When goal status took effect
        statusReason:
          type: string
          description: Reason for current status expressed
        expressedBy:
          type: string
          description: Who's responsible for creating Goal?
        addresses:
          type: string
          description: Issues addressed by this goal
        note:
          type: string
          description: Comments about the goal
        outcomeCode:
          type: string
          description: What result was achieved regarding the goal?
        outcomeReference:
          type: string
          description: Observation that resulted from goal
      required:
      - lifecycleStatus
      - description
      - subject
    PostFhirR4MediaRequest:
      type: object
      properties:
        id:
          type: string
          description: Logical id of this artifact
        meta:
          type: string
          description: Metadata about the resource
        implicitRules:
          type: string
          description: A set of rules under which this content was created
        language:
          type: string
          description: Language of the resource content
        text:
          type: string
          description: Text summary of the resource, for human interpretation
        contained:
          type: string
          description: Contained, inline Resources
        extension:
          type: string
          description: Additional content defined by implementations
        modifierExtension:
          type: string
          description: Extensions that cannot be ignored
        identifier:
          type: string
          description: Identifier(s) for the image
        basedOn:
          type: string
          description: Procedure that caused this media to be created
        partOf:
          type: string
          description: Part of referenced event
        status:
          type: string
          description: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
        type:
          type: string
          description: Classification of media as image, video, or audio
        modality:
          type: string
          description: The type of acquisition equipment/process
        view:
          type: string
          description: Imaging view, e.g. Lateral or Antero-posterior
        subject:
          type: string
          description: Who/What this Media is a record of
        encounter:
          type: string
          description: Encounter associated with media
        created[x]:
          type: string
          description: When Media was collected
        issued:
          type: string
          description: Date/Time this version was made available
        operator:
          type: string
          description: The person who generated the image
        reasonCode:
          type: string
          description: Why was event performed?
        bodySite:
          type: string
          description: Observed body part
        deviceName:
          type: string
          description: Name of the device/manufacturer
        device:
          type: string
          description: Observing Device
        height:
          type: string
          description: Height of the image in pixels (photo/video)
        width:
          type: string
          description: Width of the image in pixels (photo/video)
        frames:
          type: string
          description: Number of frames if > 1 (photo)
        duration:
          type: number
          description: Length in seconds (audio / video)
        content:
          type: string
          description: Actual Media - reference or data
        note:
          type: string
          description: Comments made about the media
      required:
      - status
      - content
    PostFhirR4PatientRequest:
      type: object
      properties:
        resourceType:
          type: string
          description: Must be "Patient".
        name:
          type: string
          description: Patient name array.
        birthDate:
          type: string
          description: Patient birth date.
      required:
      - resourceType
    PostFhirR4PatientPatientIdRequest:
      type: object
      properties:
        resourceType:
          type: string
        name:
          type: array
          items:
            type: object
            properties:
              given:
                type: array
                items:
                  type: string
              family:
                type: string
        birthDate:
          type: string
          format: date
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Accounts
- name: Fhir