Skip to content
Navigation

List services

For voice/AI agents set agentMode=true: up to 10 matches, each with summary, a concise Spanish line with its exact id and code to read to the caller, from a complete catalog cache of at most 60 seconds. Use q (name/code, accent-insensitive), active and kind filters; use a short distinctive term and limit 5 for a caller question. Filtered searches inspect all provider pages before returning matching entries. Incomplete scans fail explicitly. Without filters, returns one catalog page. In every mode, follow pageInfo.nextCursor while hasNextPage is true before concluding an entry is absent. An empty completed search means no matching catalog entry, not that the clinic cannot perform the procedure. A generic procedure or missing price does not establish the requested service or tariff, and an active entry does not confirm that the clinic offers it or its requirements, coverage or appointments: verify them with information from the clinic.

  • Scope: gmedic:catalogs:read
  • Credentials: an API key, a client-credentials token or a person's access token
  • Effect: read-only; safe to retry
  • Limits: response up to 256 KB
  • CLI: arbol gmedic services list · MCP tool: gmedic_services_list
GET
https://api.getarbol.com/v1/gmedic/services

Authorization

  • Authorization
    string
    required
    Bearer <token>, where the token is an API key, a client-credentials token or a person's access token with the scope gmedic:catalogs:read. Get an API key.

Query parameters

  • cursor
    optional
    string

    Opaque cursor returned by pageInfo; omit it to request the first page.

  • direction
    optional
    forward
    or
    backward

    Direction to traverse the stable keyset ordering from the supplied cursor.

    default: "forward"
  • limit
    optional
    integer

    Maximum items returned in one page. Defaults to 25; larger reads require another cursor.

    maximum: 100 · minimum: 1 · default: 25
  • agentMode
    optional
    boolean

    Set true for voice/AI agents: at most 10 matches, each with summary, from a complete catalog search and a tenant-isolated catalog cache of at most 60 seconds.

  • refresh
    optional
    boolean

    Bypass the agent catalog cache and read the provider now.

  • serviceId
    optional
    string

    Exact catalog id. Use q for a service name or code.

    pattern: ^[1-9][0-9]{0,14}$
  • q
    optional
    string

    Search name, code and description across the catalog, ignoring accents and case. Use a distinctive word such as lavado. An empty completed search means no matching catalog entry, not that the clinic cannot perform the procedure.

    maxLength: 120 · minLength: 2 · pattern: \S
  • active
    optional
    boolean

    Filter by the explicit catalog active flag. Omit to include unknown states.

  • kind
    optional
    SERVICE
    or
    PRODUCT

    Filter services or products. Use SERVICE for clinical service information.

  • connectionId
    optional
    string

    The connection id.

    pattern: ^con_[0-9A-Za-z]{26}$
  • id
    optional
    string

    Deprecated: use serviceId. Answered until 2027-01-28.

    pattern: ^[1-9][0-9]{0,14}$

Returns

200

Successful operation.

JSON
  • success
    true
    required
  • data
    object
    required
    • data
      array of
      object
      required

      Items admitted by this resource contract within the verified organization.

      • id
        string
        required
        pattern: ^[1-9][0-9]{0,14}$
      • key
        optional
        string | null
        maxLength: 20000
      • code
        optional
        string | null
        maxLength: 20000
      • name
        optional
        string | null
        maxLength: 20000
      • description
        optional
        string | null
        maxLength: 20000
      • type
        optional
        object | null
        • id
          string
          required
          pattern: ^[1-9][0-9]{0,14}$
        • name
          optional
          string | null
          maxLength: 20000
        • label
          optional
          string | null
          maxLength: 20000
        • value
          optional
          string | null
          maxLength: 20000
      • active
        optional
        boolean | null
      • summary
        optional
        string

        With agentMode: the entry as one concise Spanish line, with its exact id and code, to read to the caller.

        maxLength: 600
    • object
      string
      required

      Discriminator for a resource list response.

    • pageInfo
      object
      required

      Opaque navigation cursors for this page’s stable keyset order.

      • hasNextPage
        boolean
        required

        Whether a later page exists in the current ordering.

      • hasPreviousPage
        boolean
        required

        Whether an earlier page exists in the current ordering.

      • nextCursor
        string | null
        required

        Opaque cursor for the next page, or null when there is none.

      • previousCursor
        string | null
        required

        Opaque cursor for the previous page, or null when there is none.

  • error
    unknown
    required
  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

400

INVALID_INPUT: The request does not match the published schema.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The request does not match the published schema.

    • code
      INVALID_INPUT
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required
      • issues
        optional
        array of
        object
        • path
          string
          required

          RFC 6901 JSON Pointer to the refused field; empty for the whole input.

          maxLength: 256
        • message
          string
          required
          maxLength: 256
  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

401

UNAUTHORIZED: A valid access token is required.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    A valid access token is required.

    • code
      UNAUTHORIZED
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

403

FORBIDDEN: The token does not authorize this operation.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The token does not authorize this operation.

    • code
      FORBIDDEN
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

404

  • CONNECTION_NOT_FOUND: This organization has no gMedic connection with this id.
  • RECORD_NOT_FOUND: gMedic has no record with one of the ids sent.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    required

    One of the following:

    • GmedicConnectionNotFoundFailure
      CONNECTION_NOT_FOUND
      • code
        CONNECTION_NOT_FOUND
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        false
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

    • GmedicRecordNotFoundFailure
      RECORD_NOT_FOUND
      • code
        RECORD_NOT_FOUND
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        false
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

409

NOT_CONFIGURED: This organization has no verified gMedic connection.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    This organization has no verified gMedic connection.

    • code
      NOT_CONFIGURED
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

422

PROVIDER_INPUT_REJECTED: gMedic rejected the supplied fields.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    gMedic rejected the supplied fields.

    • code
      PROVIDER_INPUT_REJECTED
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

429

RATE_LIMITED: The request rate limit was exceeded. Try again later.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The request rate limit was exceeded. Try again later.

    • code
      RATE_LIMITED
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      true
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

500

INTERNAL_ERROR: The service could not complete the operation.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The service could not complete the operation.

    • code
      INTERNAL_ERROR
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

502

  • OUTCOME_UNKNOWN: The operation may have been applied; check its result before repeating it.
  • PROVIDER_ACCESS_REJECTED: The configured gMedic account did not authorize this operation.
  • PROVIDER_RESPONSE_INVALID: gMedic returned an unexpected response.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    required

    One of the following:

    • OutcomeUnknownFailure
      OUTCOME_UNKNOWN
      • code
        OUTCOME_UNKNOWN
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        false
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

    • GmedicProviderAccessRejectedFailure
      PROVIDER_ACCESS_REJECTED
      • code
        PROVIDER_ACCESS_REJECTED
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        false
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

    • GmedicProviderResponseInvalidFailure
      PROVIDER_RESPONSE_INVALID
      • code
        PROVIDER_RESPONSE_INVALID
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        false
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

503

  • UPSTREAM_UNAVAILABLE: The upstream service could not complete the request.
  • CATALOG_SEARCH_INCOMPLETE: The service catalog search could not be completed within its limits. Service absence cannot be concluded.
  • PROVIDER_UNAVAILABLE: gMedic is temporarily unavailable.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    required

    One of the following:

    • UpstreamUnavailableFailure
      UPSTREAM_UNAVAILABLE
      • code
        UPSTREAM_UNAVAILABLE
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        true
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

    • GmedicCatalogSearchIncompleteFailure
      CATALOG_SEARCH_INCOMPLETE
      • code
        CATALOG_SEARCH_INCOMPLETE
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        false
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

    • GmedicProviderUnavailableFailure
      PROVIDER_UNAVAILABLE
      • code
        PROVIDER_UNAVAILABLE
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        true
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

504

UPSTREAM_TIMEOUT: The upstream service did not respond before its deadline.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The upstream service did not respond before its deadline.

    • code
      UPSTREAM_TIMEOUT
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      true
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

Escribe para buscar…

↑↓ navegar↵ seleccionarEsc cerrar