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

name

String

Display name

description

StringNullable

Description

config_schema

ObjectNullable

JSON Schema defining the configuration structure. Contains standard JSON Schema fields like type, properties, required, etc.

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",
"name": "GitHub",
"description": "GitHub API integration",
"config_schema": {
"type": "object",
"properties": {
"base_url": {
"type": "string",
"description": "Base URL for the API"
},
"timeout": {
"type": "number",
"description": "Request timeout in milliseconds"
}
},
"required": [
"base_url"
]
},
"tools": [
{
"object": "provider.tool",
"id": "pto_5jKlMnPqRsTuVwXy",
"name": "create_issue",
"title": "Create Issue",
"description": "Creates a new issue in a GitHub repository",
"input_schema": {
"type": "object",
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"title": {
"type": "string",
"description": "Issue title"
}
},
"required": [
"repo",
"title"
]
},
"output_schema": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Issue ID"
},
"url": {
"type": "string",
"description": "Issue URL"
}
}
},
"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"
}
],
"auth_methods": [
{
"object": "provider.auth_method",
"id": "pam_2mNpQrStUvWxYzAb",
"type": "oauth",
"name": "OAuth 2.0",
"description": "Authenticate using OAuth 2.0",
"input_schema": {
"type": "object",
"properties": {
"client_id": {
"type": "string",
"description": "OAuth client ID"
},
"client_secret": {
"type": "string",
"description": "OAuth client secret"
}
},
"required": [
"client_id",
"client_secret"
]
},
"scopes": [
{
"object": "provider.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.

URL Parameters

provider_id

String

The unique identifier for the provider

Query Parameters

limit

NumberOptional

Maximum number of items to return (1-100)

after

StringOptional

Return items after this ID

before

StringOptional

Return items before this ID

cursor

StringOptional

Pagination cursor from a previous response

order

EnumOptional

Sort order for results

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

Get provider specification

Retrieves a specific provider specification by ID.

URL Parameters

provider_id

String

The unique identifier for the provider

provider_specification_id

String

The unique identifier for the provider_specification

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