Optum Attachment Document API

The Attachment Document API from Optum — 2 operation(s) for attachment document.

Operations 2

POST /search search
GET /{documentId} Download a document for the given documentId

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/optum-attachment-document-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

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

OpenAPI Specification

optum-attachment-document-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Medical Network Attachment Retrieval v1 Attachment Document API
  description: Optum's Attachment Retrieval API.
  version: '1'
  contact:
    email: imn-attachments@uhgazure.onmicrosoft.com
servers:
- url: https://sandbox-apigw.optum.com/medicalnetwork/attachments/retrieval/v1
security:
- bearerToken: []
tags:
- name: Attachment Document
paths:
  /search:
    post:
      summary: search
      description: By default testMode is false to retrieve production data. To retrieve the test data user has to pass the query string as testMode=true. Search to retrieve a set of document ids based on upload date range, attachment control number, patient first name, last name, member id, provider id, provider first name, organization name, claim service start date and claim service end date.
      tags:
      - Attachment Document
      parameters:
      - name: testMode
        in: query
        description: It must be either 'true' or 'false'. Default value is 'false'
        required: false
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - startUploadDate
              - endUploadDate
              properties:
                startUploadDate:
                  type: string
                  description: 'Filter to search document based on given document upload start date. Date Format: yyyy-MM-ddTHH:mm:ss.fffZ. Timestamp is optional and defaults to T00:00:00.000Z'
                endUploadDate:
                  type: string
                  description: 'Filter to search document based on given document upload end date. Date Format: yyyy-MM-ddTHH:mm:ss.fffZ. Timestamp is optional and defaults to T23:59:59.999Z'
                attachmentControlNumber:
                  type: string
                  description: Filter to search document based on given claim number.
                patientFirstName:
                  type: string
                  description: Filter to search document based on given patient first name.
                patientLastName:
                  type: string
                  description: Filter to search document based on given patient last name.
                memberId:
                  type: string
                  description: Filter to search document based on given member id.
                providerFirstName:
                  type: string
                  description: Filter to search document based on given provider first name.
                organizationName:
                  type: string
                  description: Filter to search document based on given provider last name or organization name.
                providerId:
                  type: string
                  description: Filter to search document based on given provider id
                beginClaimServiceDate:
                  type: string
                  description: 'Filter to search document based on given claim service start date. Date Format: yyyy-MM-dd'
                endClaimServiceDate:
                  type: string
                  description: 'Filter to search document based on given claim service end date. Date Format: yyyy-MM-dd'
                size:
                  type: number
                  description: Return the number of records to display in the UI
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentInfo'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
  /{documentId}:
    get:
      tags:
      - Attachment Document
      summary: Download a document for the given documentId
      parameters:
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/octet-stream: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  responses:
    Unauthorized:
      description: Not Authorized
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
              error_description:
                type: string
          example:
            error: invalid_request
            error_description: The access token is missing
    NotFound:
      description: Resource Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFound'
    InternalError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequest'
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
        description:
          type: string
        typeInfo:
          type: object
          properties:
            type:
              type: string
            value:
              type: string
      example:
        code: '500'
        description: Internal Server Error
        typeInfo:
          type: ErrorResponse
          value: SystemErrors.INTERNAL_ERROR
    DocumentInfo:
      type: object
      properties:
        documentId:
          type: string
          description: ID of downloadable documents
          example: 000fb167-ff90-4848-9e56-9edbf328a34c
        attachmentControlNumber:
          type: string
          description: Attachment control number
        memberId:
          type: string
          description: memberId
        patientFirstName:
          type: string
          description: patientFirstName
        patientLastName:
          type: string
          description: patientLastName
        patientControlNumber:
          type: string
          description: patientControlNumber
        providerId:
          type: string
          description: providerId
        providerFirstName:
          type: string
          description: providerFirstName
        organizationName:
          type: string
          description: organizationName
        beginClaimServiceDate:
          type: string
          description: beginClaimServiceDate
        endClaimServiceDate:
          type: string
          description: endClaimServiceDate
        attachmentUploadDate:
          type: string
          description: attachmentUploadDate
    NotFound:
      allOf:
      - $ref: '#/components/schemas/ErrorResponse'
      example:
        code: '404'
        description: Item not found
        typeInfo:
          type: ErrorResponse
          value: ClientErrors.NOT_FOUND
    BadRequest:
      allOf:
      - $ref: '#/components/schemas/ErrorResponse'
      example:
        code: '400'
        description: Invalid header value
        typeInfo:
          type: ErrorResponse
          value: ClientErrors.BAD_REQUEST
  securitySchemes:
    bearerToken:
      type: apiKey
      name: Authorization
      in: header