Provider Specifications

A specification defines what a provider version can do: its tools, auth methods, and required configuration fields.

Provider Specifications object

Attributes

object

String

String representing the object's type

id

String

Unique specification identifier

key

String

Unique specification key

name

String

Display name

description

StringNullable

Description

config_schema

Object

JSON Schema defining the configuration structure

config_visibility

Enum

Visibility level of the configuration

tools

Object

Available tools

auth_methods

Object

Authentication methods

provider_id

String

Provider ID

created_at

Date

Timestamp when created

updated_at

Date

Timestamp when last updated

{
"object": "provider.specification",
"id": "psp_9gHjKlMnPqRsTuVw",
"key": "github",
"name": "GitHub",
"description": "GitHub API integration",
"config_schema": {},
"config_visibility": "encrypted",
"tools": [
{
"object": "provider.tool",
"id": "pto_5jKlMnPqRsTuVwXy",
"key": "create_issue",
"name": "Create Issue",
"description": "Creates a new issue in a GitHub repository",
"capabilities": {},
"input_schema": {
"type": "json_schema",
"schema": {}
},
"output_schema": {
"type": "json_schema",
"schema": {}
},
"tags": {},
"specification_id": "psp_9gHjKlMnPqRsTuVw",
"provider_id": "pro_5gHjKlMnPqRsTuVw",
"created_at": "2025-09-15T10:30:00.000Z",
"updated_at": "2026-01-10T14:45:00.000Z"
},
{
"object": "provider.tool",
"id": "pto_5jKlMnPqRsTuVwXy",
"key": "create_issue",
"name": "Create Issue",
"description": "Creates a new issue in a GitHub repository",
"capabilities": {},
"input_schema": {
"type": "json_schema",
"schema": {}
},
"output_schema": {
"type": "json_schema",
"schema": {}
},
"tags": {},
"specification_id": "psp_9gHjKlMnPqRsTuVw",
"provider_id": "pro_5gHjKlMnPqRsTuVw",
"created_at": "2025-09-15T10:30:00.000Z",
"updated_at": "2026-01-10T14:45:00.000Z"
}
],
"auth_methods": [
{
"object": "provider.capabilities.auth_method",
"id": "pam_2mNpQrStUvWxYzAb",
"type": "oauth",
"key": "oauth2",
"name": "OAuth 2.0",
"description": "Authenticate using OAuth 2.0",
"capabilities": {},
"input_schema": {
"type": "json_schema",
"schema": {}
},
"output_schema": {
"type": "json_schema",
"schema": {}
},
"scopes": [
{
"object": "provider.capabilities.auth_method.scope",
"id": "pams_8tUvWxYzAbCdEfGh",
"scope": "repo",
"name": "Repository Access",
"description": "Full control of private repositories"
},
{
"object": "provider.capabilities.auth_method.scope",
"id": "pams_8tUvWxYzAbCdEfGh",
"scope": "repo",
"name": "Repository Access",
"description": "Full control of private repositories"
}
],
"provider_id": "pro_5gHjKlMnPqRsTuVw",
"provider_specification_id": "psp_9gHjKlMnPqRsTuVw",
"created_at": "2025-09-15T10:30:00.000Z",
"updated_at": "2026-01-10T14:45:00.000Z"
},
{
"object": "provider.capabilities.auth_method",
"id": "pam_2mNpQrStUvWxYzAb",
"type": "oauth",
"key": "oauth2",
"name": "OAuth 2.0",
"description": "Authenticate using OAuth 2.0",
"capabilities": {},
"input_schema": {
"type": "json_schema",
"schema": {}
},
"output_schema": {
"type": "json_schema",
"schema": {}
},
"scopes": [
{
"object": "provider.capabilities.auth_method.scope",
"id": "pams_8tUvWxYzAbCdEfGh",
"scope": "repo",
"name": "Repository Access",
"description": "Full control of private repositories"
},
{
"object": "provider.capabilities.auth_method.scope",
"id": "pams_8tUvWxYzAbCdEfGh",
"scope": "repo",
"name": "Repository Access",
"description": "Full control of private repositories"
}
],
"provider_id": "pro_5gHjKlMnPqRsTuVw",
"provider_specification_id": "psp_9gHjKlMnPqRsTuVw",
"created_at": "2025-09-15T10:30:00.000Z",
"updated_at": "2026-01-10T14:45:00.000Z"
}
],
"provider_id": "pro_5gHjKlMnPqRsTuVw",
"created_at": "2025-09-15T10:30:00.000Z",
"updated_at": "2026-01-10T14:45:00.000Z"
}

List provider specifications

Returns a paginated list of provider specifications.

Query Parameters

limit

NumberOptional

after

StringOptional

before

StringOptional

cursor

StringOptional

order

EnumOptional

id

UnionOptional

Filter by specification ID(s)

provider_id

UnionOptional

Filter by provider ID(s)

provider_version_id

UnionOptional

Filter by provider version ID(s)

provider_deployment_id

UnionOptional

Filter by provider deployment ID(s)

provider_config_id

UnionOptional

Filter by provider config ID(s)

created_at

ObjectOptional

Filter provider specification creation time by date range

updated_at

ObjectOptional

Filter provider specification last update time by date range

GEThttp://api.metorial.com/provider-specifications
curl -X GET "https://api.metorial.com/provider-specifications" \
-H "Authorization: Bearer metorial_sk_..."

Get provider specification

Retrieves a specific provider specification by ID.

URL Parameters

provider_specification_id

String

The unique identifier for the provider_specification

GEThttp://api.metorial.com/provider-specifications/:provider_specification_id
curl -X GET "https://api.metorial.com/provider-specifications/pro_Rm4Mnheq2bfEPhBhP7SY" \
-H "Authorization: Bearer metorial_sk_..."