---
title: "Get provider setup session"
method: GET
path: "/provider-setup-sessions/{provider_setup_session_id}"
tags: ["Provider Setup Sessions"]
---

# Get provider setup session

`GET /provider-setup-sessions/{provider_setup_session_id}`

## Request

- Base URL: `https://api.metorial.com`
- URL: `https://api.metorial.com/provider-setup-sessions/{provider_setup_session_id}`
- Auth: HTTP bearer

Retrieves a specific provider setup session by ID.

## Path parameters

- `provider_setup_session_id` string, required

## Headers

- `Metorial-Version` string

## Response `200`

Successful response

- SetupSession
  - `object` 'provider.setup_session', required: String representing the object's type
  - `id` string, required: Unique setup session identifier
  - `type` 'auth_only' | 'config_only' | 'auth_and_config' | 'admin', required: Setup session type. `admin` sessions produce an admin consent link and complete without creating credentials.
  - `status` 'failed' | 'archived' | 'deleted' | 'pending' | 'completed' | 'expired', required: Session status
  - `url` string, required: URL where user completes authentication
  - `error` object, nullable, required: The error reported during the OAuth step of this session, or null if none occurred
    - `code` string, required: Machine-readable error code reported by the OAuth provider or integration
    - `message` string, required: Human-readable error message
  - `name` string, nullable, required: Display name
  - `description` string, nullable, required: Description
  - `metadata` object, nullable, required: Custom key-value pairs
  - `configuration` object, nullable, required: Setup session configuration
  - `provider_id` string, nullable, required: Provider ID
  - `identity_id` string, nullable, required: Linked identity ID
  - `identity_credential_id` string, nullable, required: Identity credential created from this setup session
  - `access` Access, required: Resource ownership and access settings.
    - `source` 'explorer', nullable, required: Integration resource source, or null when the resource is not from Explorer.
    - `type` 'public' | 'owner_locked', required: Whether usage is public or locked to the owner under the project ownership rules.
    - `visibility` 'anyone' | 'owner', required: Whether visibility is unrestricted or limited to the owner under the project ownership rules.
    - `owner` object, nullable, required: The actor that owns this resource, if any.
      - `type` 'person' | 'agent' | 'consumer' | 'organization_member', required: Type of the owning actor.
      - `name` string, nullable, required: Display name of the owning actor.
      - `image_url` string, nullable, required: Avatar image URL of the owning actor, if available.
      - `email` string, nullable, required: Email address of the owning actor, if available.
      - `organization_member` object: Organization member associated with this owner.
        - `id` string, required: Identifier of the organization member who owns the resource.
      - `consumer` Consumer: Consumer and profile associated with this owner.
        - `id` string, required: Identifier of the owning consumer.
        - `profile_id` string, required: Identifier of the owning consumer profile.
        - `portal_id` string, nullable, required: Identifier of the consumer profile’s portal, if any.
  - `auth_method` object, nullable, required
    - `object` 'provider.capabilities.auth_method', required: String representing the object's type
    - `id` string, required: Unique auth method identifier
    - `type` 'oauth' | 'token' | 'custom', required: Authentication type
    - `key` string, required: Auth method key
    - `name` string, required: Display name
    - `description` string, nullable, required: Auth method description
    - `capabilities` object, required: Auth method capabilities
    - `input_schema` object, nullable, required
      - `type` 'json_schema', required
      - `schema` object, required: JSON Schema defining the required auth input fields
    - `output_schema` object, nullable, required
      - `type` 'json_schema', required
      - `schema` object, required: JSON Schema defining the auth output fields
    - `scopes` Scope[], nullable, required: Available OAuth scopes
      - `object` 'provider.capabilities.auth_method.scope', required: String representing the object's type
      - `id` string, required: Unique scope identifier
      - `scope` string, required: OAuth scope string
      - `name` string, required: Display name of the scope
      - `description` string, nullable, required: Scope description
    - `adapters` string[], nullable, required: Adapter IDs this auth method can be used with
    - `provider_id` string, required: Provider ID
    - `provider_specification_id` string, required: Specification ID
    - `created_at` string, date-time, required: Timestamp when created
    - `updated_at` string, date-time, required: Timestamp when last updated
  - `deployment` object, nullable, required
    - `object` 'provider.deployment#preview', required: String representing the object's type
    - `id` string, required: Deployment ID
    - `is_default` boolean, required: Whether this is the default deployment
    - `name` string, nullable, required: Deployment name
    - `description` string, nullable, required: Description
    - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
    - `provider_id` string, required: Provider ID
    - `created_at` string, date-time, required: Timestamp when created
    - `updated_at` string, date-time, required: Timestamp when last updated
  - `credentials` object, nullable, required
    - `object` 'provider.auth_credentials', required: String representing the object's type
    - `id` string, required: Unique credentials identifier
    - `type` 'oauth', required
    - `status` 'active' | 'archived' | 'deleted', required: Credentials status
    - `is_default` boolean, required: Whether this is the default credentials for the provider
    - `is_managed` boolean, required: Whether these credentials are managed by Metorial
    - `name` string, nullable, required: Display name
    - `description` string, nullable, required: Description
    - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
    - `scopes` string[], nullable, required: OAuth scopes requested by this credential
    - `provider_id` string, required: Provider ID
    - `created_at` string, date-time, required: Timestamp when created
    - `updated_at` string, date-time, required: Timestamp when last updated
  - `auth_config` object, nullable, required
    - `object` 'provider.auth_config', required: String representing the object's type
    - `id` string, required: Unique auth config identifier
    - `type` 'manual' | 'oauth_automated' | 'oauth_manual', required: Authentication type
    - `source` 'manual' | 'setup_session' | 'system' | 'explorer', required: Auth config source
    - `status` 'active' | 'archived' | 'deleted', required: Auth config status
    - `is_default` boolean, required: Whether this is the default auth config
    - `provider_id` string, required: Provider ID
    - `name` string, nullable, required: Display name
    - `description` string, nullable, required: Description
    - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
    - `tool_filter` union, required: Tool filter configuration
      - object
        - `type` 'allow_all', required
        - `ignore_parent_filters` boolean, required
      - ToolFilter
        - `type` 'filter', required
        - `filters` union[], required
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `ignore_parent_filters` boolean, required
    - `deployment` object, nullable, required
      - `object` 'provider.deployment#preview', required: String representing the object's type
      - `id` string, required: Deployment ID
      - `is_default` boolean, required: Whether this is the default deployment
      - `name` string, nullable, required: Deployment name
      - `description` string, nullable, required: Description
      - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
      - `provider_id` string, required: Provider ID
      - `created_at` string, date-time, required: Timestamp when created
      - `updated_at` string, date-time, required: Timestamp when last updated
    - `credentials` object, nullable, required
      - `object` 'provider.auth_credentials', required: String representing the object's type
      - `id` string, required: Unique credentials identifier
      - `type` 'oauth', required
      - `status` 'active' | 'archived' | 'deleted', required: Credentials status
      - `is_default` boolean, required: Whether this is the default credentials for the provider
      - `is_managed` boolean, required: Whether these credentials are managed by Metorial
      - `name` string, nullable, required: Display name
      - `description` string, nullable, required: Description
      - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
      - `scopes` string[], nullable, required: OAuth scopes requested by this credential
      - `provider_id` string, required: Provider ID
      - `created_at` string, date-time, required: Timestamp when created
      - `updated_at` string, date-time, required: Timestamp when last updated
    - `auth_method` AuthMethod, required
      - `object` 'provider.capabilities.auth_method', required: String representing the object's type
      - `id` string, required: Unique auth method identifier
      - `type` 'oauth' | 'token' | 'custom', required: Authentication type
      - `key` string, required: Auth method key
      - `name` string, required: Display name
      - `description` string, nullable, required: Auth method description
      - `capabilities` object, required: Auth method capabilities
      - `input_schema` object, nullable, required
        - `type` 'json_schema', required
        - `schema` object, required: JSON Schema defining the required auth input fields
      - `output_schema` object, nullable, required
        - `type` 'json_schema', required
        - `schema` object, required: JSON Schema defining the auth output fields
      - `scopes` Scope[], nullable, required: Available OAuth scopes
        - `object` 'provider.capabilities.auth_method.scope', required: String representing the object's type
        - `id` string, required: Unique scope identifier
        - `scope` string, required: OAuth scope string
        - `name` string, required: Display name of the scope
        - `description` string, nullable, required: Scope description
      - `adapters` string[], nullable, required: Adapter IDs this auth method can be used with
      - `provider_id` string, required: Provider ID
      - `provider_specification_id` string, required: Specification ID
      - `created_at` string, date-time, required: Timestamp when created
      - `updated_at` string, date-time, required: Timestamp when last updated
    - `access` Access, required: Resource ownership and access settings.
      - `source` 'explorer', nullable, required: Integration resource source, or null when the resource is not from Explorer.
      - `type` 'public' | 'owner_locked', required: Whether usage is public or locked to the owner under the project ownership rules.
      - `visibility` 'anyone' | 'owner', required: Whether visibility is unrestricted or limited to the owner under the project ownership rules.
      - `owner` object, nullable, required: The actor that owns this resource, if any.
        - `type` 'person' | 'agent' | 'consumer' | 'organization_member', required: Type of the owning actor.
        - `name` string, nullable, required: Display name of the owning actor.
        - `image_url` string, nullable, required: Avatar image URL of the owning actor, if available.
        - `email` string, nullable, required: Email address of the owning actor, if available.
        - `organization_member` object: Organization member associated with this owner.
          - `id` string, required: Identifier of the organization member who owns the resource.
        - `consumer` Consumer: Consumer and profile associated with this owner.
          - `id` string, required: Identifier of the owning consumer.
          - `profile_id` string, required: Identifier of the owning consumer profile.
          - `portal_id` string, nullable, required: Identifier of the consumer profile’s portal, if any.
    - `created_at` string, date-time, required: Timestamp when created
    - `updated_at` string, date-time, required: Timestamp when last updated
  - `config` object, nullable, required
    - `object` 'provider.config', required: String representing the object's type
    - `id` string, required: Unique config identifier
    - `status` 'active' | 'archived' | 'deleted', required: Config status
    - `is_default` boolean, required: Whether this is the default config
    - `name` string, nullable, required: Display name
    - `description` string, nullable, required: Description
    - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
    - `tool_filter` union, required: Tool filter configuration
      - object
        - `type` 'allow_all', required
        - `ignore_parent_filters` boolean, required
      - ToolFilter
        - `type` 'filter', required
        - `filters` union[], required
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `ignore_parent_filters` boolean, required
    - `provider_id` string, required: Provider ID
    - `specification_id` string, required: Specification ID
    - `deployment` object, nullable, required
      - `object` 'provider.deployment#preview', required: String representing the object's type
      - `id` string, required: Deployment ID
      - `is_default` boolean, required: Whether this is the default deployment
      - `name` string, nullable, required: Deployment name
      - `description` string, nullable, required: Description
      - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
      - `provider_id` string, required: Provider ID
      - `created_at` string, date-time, required: Timestamp when created
      - `updated_at` string, date-time, required: Timestamp when last updated
    - `from_vault` object, nullable, required
      - `object` 'provider.config_vault', required: String representing the object's type
      - `id` string, required: Unique config vault identifier
      - `status` 'active' | 'archived' | 'deleted', required: Status of the config vault
      - `name` string, required: Display name
      - `description` string, nullable, required: Description
      - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
      - `provider_id` string, required: Provider ID
      - `deployment` object, nullable, required
        - `object` 'provider.deployment#preview', required: String representing the object's type
        - `id` string, required: Deployment ID
        - `is_default` boolean, required: Whether this is the default deployment
        - `name` string, nullable, required: Deployment name
        - `description` string, nullable, required: Description
        - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
        - `provider_id` string, required: Provider ID
        - `created_at` string, date-time, required: Timestamp when created
        - `updated_at` string, date-time, required: Timestamp when last updated
      - `created_at` string, date-time, required: Timestamp when created
      - `updated_at` string, date-time, required: Timestamp when last updated
    - `access` Access, required: Resource ownership and access settings.
      - `source` 'explorer', nullable, required: Integration resource source, or null when the resource is not from Explorer.
      - `type` 'public' | 'owner_locked', required: Whether usage is public or locked to the owner under the project ownership rules.
      - `visibility` 'anyone' | 'owner', required: Whether visibility is unrestricted or limited to the owner under the project ownership rules.
      - `owner` object, nullable, required: The actor that owns this resource, if any.
        - `type` 'person' | 'agent' | 'consumer' | 'organization_member', required: Type of the owning actor.
        - `name` string, nullable, required: Display name of the owning actor.
        - `image_url` string, nullable, required: Avatar image URL of the owning actor, if available.
        - `email` string, nullable, required: Email address of the owning actor, if available.
        - `organization_member` object: Organization member associated with this owner.
          - `id` string, required: Identifier of the organization member who owns the resource.
        - `consumer` Consumer: Consumer and profile associated with this owner.
          - `id` string, required: Identifier of the owning consumer.
          - `profile_id` string, required: Identifier of the owning consumer profile.
          - `portal_id` string, nullable, required: Identifier of the consumer profile’s portal, if any.
    - `created_at` string, date-time, required: Timestamp when created
    - `updated_at` string, date-time, required: Timestamp when last updated
  - `ui_mode` 'metorial_elements' | 'dashboard_embeddable', required: UI mode for setup
  - `redirect_url` string, nullable, required: URL to redirect after setup
  - `created_at` string, date-time, required: Timestamp when created
  - `updated_at` string, date-time, required: Timestamp when last updated
  - `expires_at` string, date-time, required: Timestamp when the session expires

## Other responses

- `400`: Invalid parameters or action
- `401`: Missing or invalid API key
- `403`: The key lacks permission for this resource
- `404`: No such resource
- `422`: Validation failed
- `429`: Rate limit exceeded
- `500`: Unexpected server error

---

[API](https://skmtc.dev/metorial/apis/metorial-api.md) - [All operations](https://skmtc.dev/metorial/apis/metorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metorial/apis/metorial-api/revisions/10ccc89f3eac?raw)
