Stedi Providers API

The Providers API from Stedi — 2 operation(s) for providers.

OpenAPI Specification

stedi-providers-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  contact:
    email: healthcare@stedi.com
  license:
    name: Proprietary
    url: https://stedi.com
  title: Stedi Healthcare Claims Claim acknowledgments Providers API
  version: '2025-03-07'
servers:
- description: Production
  url: https://claims.us.stedi.com/2025-03-07
security:
- httpApiKeyAuth: []
tags:
- name: Providers
paths:
  /providers:
    get:
      description: Lists providers with optional filtering and pagination.
      operationId: ListProviders
      parameters:
      - description: The maximum number of elements to return in a page. If not specified, the default is 100.
        in: query
        name: pageSize
        schema:
          description: The maximum number of elements to return in a page. If not specified, the default is 100.
          maximum: 500
          minimum: 1
          type: number
      - description: The `nextPageToken` value from a previous response. You can use this to get the next page of results. If not set, Stedi returns the first page of results.
        in: query
        name: pageToken
        schema:
          description: The `nextPageToken` value from a previous response. You can use this to get the next page of results. If not set, Stedi returns the first page of results.
          maxLength: 1024
          minLength: 1
          type: string
      - description: 'Filter for providers with properties matching a query string. You can provide all or part of a provider name, NPI, or tax ID. The search is case-insensitive and supports fuzzy matching.


          For example, providing `?filter=OS` returns providers with names containing `os` (such as `Joseph`).'
        in: query
        name: filter
        schema:
          description: 'Filter for providers with properties matching a query string. You can provide all or part of a provider name, NPI, or tax ID. The search is case-insensitive and supports fuzzy matching.


            For example, providing `?filter=OS` returns providers with names containing `os` (such as `Joseph`).'
          type: string
      - description: Filter for providers with NPIs matching any value in this list.
        explode: true
        in: query
        name: providerNpis
        schema:
          description: Filter for providers with NPIs matching any value in this list.
          items:
            description: The provider NPI.
            type: string
          type: array
        style: form
      - description: Filter for providers with tax IDs matching any value in this list.
        explode: true
        in: query
        name: providerTaxIds
        schema:
          description: Filter for providers with tax IDs matching any value in this list.
          items:
            description: The provider tax ID.
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              examples:
                ListProviders_example1:
                  description: ''
                  summary: List Providers
                  value:
                    items:
                    - id: 10334e76-f073-4b5d-8984-81d8e5107857
                      name: BDQ Dental Inc
                      npi: '1999999992'
                      taxId: '555123456'
                      taxIdType: EIN
                    - id: 10234e76-f067-4b5d-8984-81d8e5107123
                      name: Example Medical Associates
                      npi: '1999999984'
                      taxId: '100100111'
                      taxIdType: EIN
              schema:
                $ref: '#/components/schemas/ListProvidersResponseContent'
          description: ListProviders 200 response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationExceptionResponseContent'
          description: ValidationException 400 response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedExceptionResponseContent'
          description: UnauthorizedException 401 response
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedExceptionResponseContent'
          description: AccessDeniedException 403 response
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotaExceededExceptionResponseContent'
          description: QuotaExceededException 429 response
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureExceptionResponseContent'
          description: InternalFailureException 500 response
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableExceptionResponseContent'
          description: ServiceUnavailableException 503 response
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayTimeoutExceptionResponseContent'
          description: GatewayTimeoutException 504 response
      tags:
      - Providers
    post:
      description: Creates a new provider record. Providers must be created before they can be enrolled with payers.
      operationId: CreateProvider
      requestBody:
        content:
          application/json:
            examples:
              CreateProvider_example1:
                description: ''
                summary: Create Provider
                value:
                  contacts:
                  - city: Chevy Chase
                    email: bob@fortdental.center
                    firstName: Bob
                    lastName: Dentist
                    phone: '5551232135'
                    state: MD
                    streetAddress1: 123 Some Str
                    zipCode: '20814'
                  - city: Chevy Chase
                    email: tom@fortdental.center
                    firstName: Tom
                    lastName: Dentist
                    phone: '5551232133'
                    state: MD
                    streetAddress1: 123 Some Str
                    zipCode: '20814'
                  name: BDQ Dental Inc
                  npi: '1999999992'
                  taxId: '555123456'
                  taxIdType: EIN
            schema:
              $ref: '#/components/schemas/CreateProviderRequestContent'
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                CreateProvider_example1:
                  description: ''
                  summary: Create Provider
                  value:
                    contacts:
                    - city: Chevy Chase
                      email: bob@fortdental.center
                      firstName: Bob
                      lastName: Dentist
                      organizationName: ''
                      phone: '5551232135'
                      state: MD
                      streetAddress1: 123 Some Str
                      zipCode: '20814'
                    - city: Chevy Chase
                      email: tom@fortdental.center
                      firstName: Tom
                      lastName: Dentist
                      organizationName: ''
                      phone: '5551232133'
                      state: MD
                      streetAddress1: 123 Some Str
                      zipCode: '20814'
                    createdAt: '2024-11-18T17:39:52.406Z'
                    id: 10334e76-f073-4b5d-8984-81d8e5107857
                    name: BDQ Dental Inc
                    npi: '1999999992'
                    taxId: '555123456'
                    taxIdType: EIN
                    updatedAt: '2024-11-18T17:39:52.406Z'
              schema:
                $ref: '#/components/schemas/CreateProviderResponseContent'
          description: CreateProvider 200 response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationExceptionResponseContent'
          description: ValidationException 400 response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedExceptionResponseContent'
          description: UnauthorizedException 401 response
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedExceptionResponseContent'
          description: AccessDeniedException 403 response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundExceptionResponseContent'
          description: ResourceNotFoundException 404 response
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotaExceededExceptionResponseContent'
          description: QuotaExceededException 429 response
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureExceptionResponseContent'
          description: InternalFailureException 500 response
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableExceptionResponseContent'
          description: ServiceUnavailableException 503 response
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayTimeoutExceptionResponseContent'
          description: GatewayTimeoutException 504 response
      tags:
      - Providers
  /providers/{providerId}:
    delete:
      description: Deletes a provider record. Providers can only be deleted if they have no associated enrollments. This operation is idempotent.
      operationId: DeleteProvider
      parameters:
      - description: The Stedi-assigned identifier for the provider you want to delete.
        examples:
          DeleteProvider_example1:
            description: ''
            summary: Delete Provider
            value: 10334e76-f073-4b5d-8984-81d8e5107857
        in: path
        name: providerId
        required: true
        schema:
          description: The Stedi-assigned identifier for the provider you want to delete.
          type: string
      responses:
        '200':
          description: DeleteProvider 200 response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationExceptionResponseContent'
          description: ValidationException 400 response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedExceptionResponseContent'
          description: UnauthorizedException 401 response
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedExceptionResponseContent'
          description: AccessDeniedException 403 response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundExceptionResponseContent'
          description: ResourceNotFoundException 404 response
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotaExceededExceptionResponseContent'
          description: QuotaExceededException 429 response
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureExceptionResponseContent'
          description: InternalFailureException 500 response
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableExceptionResponseContent'
          description: ServiceUnavailableException 503 response
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayTimeoutExceptionResponseContent'
          description: GatewayTimeoutException 504 response
      tags:
      - Providers
    get:
      description: Retrieves a provider record by its ID. This operation returns the complete provider details including contact information.
      operationId: GetProvider
      parameters:
      - description: The unique ID Stedi assigned to the provider when it was created in the system.
        examples:
          GetProvider_example1:
            description: ''
            summary: Get Provider
            value: 10334e76-f073-4b5d-8984-81d8e5107857
        in: path
        name: providerId
        required: true
        schema:
          description: The unique ID Stedi assigned to the provider when it was created in the system.
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                GetProvider_example1:
                  description: ''
                  summary: Get Provider
                  value:
                    contacts:
                    - city: Chevy Chase
                      email: bob@fortdental.center
                      firstName: Bob
                      lastName: Dentist
                      organizationName: ''
                      phone: '5551234567'
                      state: MD
                      streetAddress1: 123 Some Str
                      zipCode: '20814'
                    - city: Chevy Chase
                      email: tom@fortdental.center
                      firstName: Tom
                      lastName: Dentist
                      organizationName: ''
                      phone: '5551234568'
                      state: MD
                      streetAddress1: 123 Some Str
                      zipCode: '20814'
                    createdAt: '2024-11-18T17:39:52.406Z'
                    id: 10334e76-f073-4b5d-8984-81d8e5107857
                    name: BDQ Dental Inc
                    npi: '1999999992'
                    taxId: '555123456'
                    taxIdType: EIN
                    updatedAt: '2024-11-18T17:39:52.406Z'
              schema:
                $ref: '#/components/schemas/GetProviderResponseContent'
          description: GetProvider 200 response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationExceptionResponseContent'
          description: ValidationException 400 response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedExceptionResponseContent'
          description: UnauthorizedException 401 response
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedExceptionResponseContent'
          description: AccessDeniedException 403 response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundExceptionResponseContent'
          description: ResourceNotFoundException 404 response
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotaExceededExceptionResponseContent'
          description: QuotaExceededException 429 response
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureExceptionResponseContent'
          description: InternalFailureException 500 response
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableExceptionResponseContent'
          description: ServiceUnavailableException 503 response
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayTimeoutExceptionResponseContent'
          description: GatewayTimeoutException 504 response
      tags:
      - Providers
    post:
      description: Updates an existing provider's information. Note that NPI and tax ID cannot be changed after creation.
      operationId: UpdateProvider
      parameters:
      - description: The Stedi-assigned identifier for the provider you want to update.
        examples:
          UpdateProvider_example1:
            description: ''
            summary: Update Provider
            value: 10334e76-f073-4b5d-8984-81d8e5107857
        in: path
        name: providerId
        required: true
        schema:
          description: The Stedi-assigned identifier for the provider you want to update.
          type: string
      requestBody:
        content:
          application/json:
            examples:
              UpdateProvider_example1:
                description: ''
                summary: Update Provider
                value:
                  contacts:
                  - city: A City
                    email: bob@fortdental.center
                    firstName: Test
                    lastName: Tester
                    phone: '5551234567'
                    state: WA
                    streetAddress1: 123 Some Str
                    zipCode: '12345'
                  name: TEST Updated Dental Inc
            schema:
              $ref: '#/components/schemas/UpdateProviderRequestContent'
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                UpdateProvider_example1:
                  description: ''
                  summary: Update Provider
                  value:
                    contacts:
                    - city: A City
                      email: bob@fortdental.center
                      firstName: Test
                      lastName: Tester
                      organizationName: ''
                      phone: '5551234567'
                      state: WA
                      streetAddress1: 123 Some Str
                      zipCode: '12345'
                    createdAt: '2024-11-18T17:39:52.406Z'
                    id: 10334e76-f073-4b5d-8984-81d8e5107857
                    name: TEST Updated Dental Inc
                    npi: '1999999999'
                    taxId: '111222333'
                    taxIdType: EIN
                    updatedAt: '2024-11-19T19:24:33.246Z'
              schema:
                $ref: '#/components/schemas/UpdateProviderResponseContent'
          description: UpdateProvider 200 response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationExceptionResponseContent'
          description: ValidationException 400 response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedExceptionResponseContent'
          description: UnauthorizedException 401 response
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedExceptionResponseContent'
          description: AccessDeniedException 403 response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundExceptionResponseContent'
          description: ResourceNotFoundException 404 response
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotaExceededExceptionResponseContent'
          description: QuotaExceededException 429 response
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureExceptionResponseContent'
          description: InternalFailureException 500 response
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableExceptionResponseContent'
          description: ServiceUnavailableException 503 response
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayTimeoutExceptionResponseContent'
          description: GatewayTimeoutException 504 response
      tags:
      - Providers
components:
  schemas:
    ProviderSummary:
      description: Summary information for a provider, typically used in list operations.
      properties:
        id:
          description: A unique identifier Stedi assigns to this provider internally.
          type: string
        name:
          description: The provider's business name. This is typically the provider's practice name, such as `Dental Associates, LLC`, but it can also be the provider's first and last name.
          type: string
        npi:
          description: The provider's [National Provider Identifier (NPI)](https://npiregistry.cms.hhs.gov/search).
          type: string
        taxId:
          description: The provider's tax ID, as specified by `taxIdType`. This identifier is formatted without any separators, such as dashes or spaces. For example 111-22-3333 is represented as `111223333`.
          type: string
        taxIdType:
          $ref: '#/components/schemas/TaxIdType'
          description: The type of tax ID. Can be either an `EIN` - Employer Identification Number, or an `SSN` - Social Security Number.
      required:
      - id
      - name
      - npi
      type: object
    ServiceUnavailableExceptionResponseContent:
      description: The server cannot handle the request due to technical reasons.
      properties:
        code:
          description: Error classification code
          type: string
        message:
          description: Human-readable error message
          type: string
      required:
      - message
      type: object
    GetProviderResponseContent:
      description: Output containing the provider details.
      properties:
        contacts:
          description: 'The contact information for the provider. These contacts appear as prepopulated options for contact information when creating enrollment requests for this provider in the Stedi portal. They aren''t automatically added to enrollment requests.


            These contacts should specify where payers should send communications about the enrollment, if needed.'
          items:
            $ref: '#/components/schemas/ProviderContact'
          type: array
        createdAt:
          description: The date and time Stedi created the provider record.
          format: date-time
          type: string
        id:
          description: A unique identifier Stedi assigns to this provider.
          type: string
        name:
          description: The provider's business name. This is typically the provider's practice name, such as `Dental Associates, LLC`, but it can also be the provider's first and last name.
          minLength: 5
          type: string
        npi:
          description: The provider's [National Provider Identifier (NPI)](https://npiregistry.cms.hhs.gov/search). This is a 10-digit number that is unique to the provider.
          pattern: ^[0-9]{10}$
          type: string
        taxId:
          description: The provider's tax ID, as specified by `taxIdType`. This identifier is formatted without any separators, such as dashes or spaces. For example 111-22-3333 is represented as `111223333`.
          pattern: ^\d{9}$
          type: string
        taxIdType:
          $ref: '#/components/schemas/TaxIdType'
          description: The type of tax ID. Can be either an `EIN` - Employer Identification Number, or an `SSN` - Social Security Number.
        updatedAt:
          description: The date and time Stedi last updated the provider record.
          format: date-time
          type: string
      required:
      - id
      - name
      - npi
      type: object
    ValidationExceptionResponseContent:
      description: 'A standard error for input validation failures.

        This should be thrown by services when a member of the input structure

        falls outside of the modeled or documented constraints.'
      properties:
        fieldList:
          description: 'A list of specific failures encountered while validating the input.

            A member can appear in this list more than once if it failed to satisfy multiple constraints.'
          items:
            $ref: '#/components/schemas/ValidationExceptionField'
          type: array
        message:
          description: A summary of the validation failure.
          type: string
      required:
      - message
      type: object
    InternalFailureExceptionResponseContent:
      description: The server response when an unexpected error occurred while processing request.
      properties:
        code:
          description: Error classification code
          type: string
        message:
          description: Human-readable error message
          type: string
      required:
      - message
      type: object
    QuotaExceededExceptionResponseContent:
      description: The server response for the usage plan quota exceeded error.
      properties:
        code:
          description: Error classification code
          type: string
        message:
          description: Human-readable error message
          type: string
      required:
      - message
      type: object
    AccessDeniedExceptionResponseContent:
      description: The server response for authorization failure.
      properties:
        code:
          description: Error classification code
          type: string
        message:
          description: Human-readable error message
          type: string
      required:
      - message
      type: object
    UpdateProviderResponseContent:
      description: Output containing the updated provider details.
      properties:
        contacts:
          description: 'The contact information for the provider. These contacts appear as prepopulated options for contact information when creating enrollment requests for this provider in the Stedi portal. They aren''t automatically added to enrollment requests.


            These contacts should specify where payers should send communications about the enrollment, if needed.'
          items:
            $ref: '#/components/schemas/ProviderContact'
          type: array
        createdAt:
          description: The date and time Stedi created the provider record.
          format: date-time
          type: string
        id:
          description: A unique identifier Stedi assigns to this provider.
          type: string
        name:
          description: The provider's business name. This is typically the provider's practice name, such as `Dental Associates, LLC`, but it can also be the provider's first and last name.
          minLength: 5
          type: string
        npi:
          description: 'The provider''s [National Provider Identifier (NPI)](https://npiregistry.cms.hhs.gov/search). This is a 10-digit number that is unique to the provider.


            Each provider record must have a unique `npi` and `taxId` combination. For example, you can create two provider records with the same `npi` as long as they have different values for `taxId`.'
          pattern: ^[0-9]{10}$
          type: string
        taxId:
          description: 'The provider''s tax ID, as specified by `taxIdType`. This identifier has to be provided without any separators, such as dashes or spaces. For example 111-22-3333 is invalid but `111223333` is valid.


            Each provider record must have a unique `npi` and `taxId` combination. For example, you can create two provider records with the same `taxId` as long as they have different values for `npi`.'
          pattern: ^\d{9}$
          type: string
        taxIdType:
          $ref: '#/components/schemas/TaxIdType'
          description: The type of tax ID. Can be either an `EIN` - Employer Identification Number, or an `SSN` - Social Security Number.
        updatedAt:
          description: The date and time Stedi last updated the provider record.
          format: date-time
          type: string
      required:
      - id
      - name
      - npi
      type: object
    CreateProviderResponseContent:
      description: Output containing the created provider details.
      properties:
        contacts:
          description: 'The contact information for the provider. These contacts appear as prepopulated options for contact information when creating enrollment requests for this provider in the Stedi portal. They aren''t automatically added to enrollment requests.


            These contacts should specify where payers should send communications about the enrollment, if needed.'
          items:
            $ref: '#/components/schemas/ProviderContact'
          type: array
        createdAt:
          description: The date and time Stedi created the provider record.
          format: date-time
          type: string
        id:
          description: A unique identifier Stedi assigns to this provider.
          type: string
        name:
          description: The provider's business name. This is typically the provider's practice name, such as `Dental Associates, LLC`, but it can also be the provider's first and last name.
          minLength: 5
          type: string
        npi:
          description: 'The provider''s [National Provider Identifier (NPI)](https://npiregistry.cms.hhs.gov/search). This is a 10-digit number that is unique to the provider.


            Each provider record must have a unique `npi` and `taxId` combination. For example, you can create two provider records with the same `npi` as long as they have different values for `taxId`.'
          pattern: ^[0-9]{10}$
          type: string
        taxId:
          description: 'The provider''s tax ID, as specified by `taxIdType`. This identifier has to be provided without any separators, such as dashes or spaces. For example 111-22-3333 is invalid but `111223333` is valid.


            Each provider record must have a unique `npi` and `taxId` combination. For example, you can create two provider records with the same `taxId` as long as they have different values for `npi`.'
          pattern: ^\d{9}$
          type: string
        taxIdType:
          $ref: '#/components/schemas/TaxIdType'
          description: The type of tax ID. Can be either an `EIN` - Employer Identification Number, or an `SSN` - Social Security Number.
        updatedAt:
          description: The date and time Stedi last updated the provider record.
          format: date-time
          type: string
      required:
      - id
      - name
      - npi
      type: object
    ResourceNotFoundExceptionResponseContent:
      description: The requested resource could not be found.
      properties:
        code:
          description: Error classification code
          type: string
        message:
          description: Human-readable error message
          type: string
      required:
      - message
      type: object
    ListProvidersResponseContent:
      description: Output containing a paginated list of providers.
      properties:
        items:
          description: Details about every provider your organization has created within Stedi.
          items:
            $ref: '#/components/schemas/ProviderSummary'
          type: array
        nextPageToken:
          description: Token that you can supply in subsequent requests to retrieve the next page of results. If not returned, there are no more results.
          maxLength: 1024
          minLength: 1
          type: string
      type: object
    UpdateProviderRequestContent:
      description: Input for UpdateProvider.
      properties:
        contacts:
          description: "The contact information for the provider. These contacts appear as prepopulated options for contact information when creating enrollment requests fo

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stedi/refs/heads/main/openapi/stedi-providers-api-openapi.yml