Custom Provider Commits
Commits represent version promotions between environments. Merge versions from one environment to another or rollback to a previous version.
Custom Provider Commits object
Attributes
object
StringString representing the object's type
id
StringUnique custom provider commit identifier
status
StringCurrent commit status
trigger
StringWhat triggered this commit
error
ObjectNullablecustom_provider_id
StringID of the parent custom provider
provider_id
StringNullableID of the associated provider
custom_provider_deployment_id
StringNullableID of the associated deployment
to_environment
Objectfrom_environment
ObjectNullabletarget_custom_provider_version
Objectprevious_custom_provider_version
ObjectNullableactor
Objectscm_push
ObjectNullablecreated_at
DateTimestamp when created
applied_at
DateNullableTimestamp when the commit was applied
{"object": "custom_provider.commit","id": "cpcm_1aBcDeFgHjKlMnPq","status": "pending","trigger": "manual","error": {"code": "deployment_failed","message": "Deployment failed due to timeout"},"custom_provider_id": "cpr_1aBcDeFgHjKlMnPq","provider_id": "pro_5gHjKlMnPqRsTuVw","custom_provider_deployment_id": "cpd_1aBcDeFgHjKlMnPq","to_environment": {"object": "custom_provider.environment","id": "cpenv_1aBcDeFgHjKlMnPq","custom_provider_id": "cpr_1aBcDeFgHjKlMnPq","provider_id": "pro_5gHjKlMnPqRsTuVw","current_provider_version_id": "prv_4dEfGhJkLmNpQrSt","instance_id": "ins_2cDeFgHjKlMnPqRs","created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"},"from_environment": {"object": "custom_provider.environment","id": "cpenv_1aBcDeFgHjKlMnPq","custom_provider_id": "cpr_1aBcDeFgHjKlMnPq","provider_id": "pro_5gHjKlMnPqRsTuVw","current_provider_version_id": "prv_4dEfGhJkLmNpQrSt","instance_id": "ins_2cDeFgHjKlMnPqRs","created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"},"target_custom_provider_version": {"object": "custom_provider.version","id": "cpv_1aBcDeFgHjKlMnPq","status": "queued","index": 1,"identifier": "v1.0.0","deployment": {"object": "custom_provider.deployment","id": "cpd_1aBcDeFgHjKlMnPq","status": "queued","trigger": "manual","custom_provider_id": "cpr_1aBcDeFgHjKlMnPq","provider_id": "pro_5gHjKlMnPqRsTuVw","custom_provider_version_id": "cpv_1aBcDeFgHjKlMnPq","commit": {"object": "custom_provider.deployment.commit","type": "merge"},"immutable_bucket": {"object": "bucket","scm_repo_link": {"object": "bucket.scm_repo","is_linked": true,"repository": {"object": "scm.repository","provider": {"object": "scm.provider","type": "github"}}}},"actor": {"object": "custom_provider.actor#preview","id": "act_1aBcDeFgHjKlMnPq","type": "external","identifier": "mtea-orgact_1aBcDeFgHjKlMnPq","name": "John Doe","organization_actor_id": "ora_1aBcDeFgHjKlMnPq","created_at": "2025-09-15T10:30:00.000Z"},"scm_push": {"object": "scm.push","actor": {"object": "scm.actor"},"commit": {"object": "scm.commit"},"repository": {"object": "scm.repository","provider": {"object": "scm.provider","type": "github"}}},"created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"},"environments": [{"object": "custom_provider.environment","id": "cpenv_1aBcDeFgHjKlMnPq","environment": {"object": "custom_provider.environment","id": "cpenv_1aBcDeFgHjKlMnPq","custom_provider_id": "cpr_1aBcDeFgHjKlMnPq","provider_id": "pro_5gHjKlMnPqRsTuVw","current_provider_version_id": "prv_4dEfGhJkLmNpQrSt","instance_id": "ins_2cDeFgHjKlMnPqRs","created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"}}],"custom_provider_id": "cpr_1aBcDeFgHjKlMnPq","provider_id": "pro_5gHjKlMnPqRsTuVw","actor": {"object": "custom_provider.actor#preview","id": "act_1aBcDeFgHjKlMnPq","type": "external","identifier": "mtea-orgact_1aBcDeFgHjKlMnPq","name": "John Doe","organization_actor_id": "ora_1aBcDeFgHjKlMnPq","created_at": "2025-09-15T10:30:00.000Z"},"container_image": {"container_registry": "https://index.docker.io/v1/","container_image_tag": "v1.0.0","container_image": "my-app-image"},"remote_mcp_server": {"url": "https://mcp.example.com","transport": "grpc"},"created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"},"previous_custom_provider_version": {"object": "custom_provider.version","id": "cpv_1aBcDeFgHjKlMnPq","status": "queued","index": 1,"identifier": "v1.0.0","deployment": {"object": "custom_provider.deployment","id": "cpd_1aBcDeFgHjKlMnPq","status": "queued","trigger": "manual","custom_provider_id": "cpr_1aBcDeFgHjKlMnPq","provider_id": "pro_5gHjKlMnPqRsTuVw","custom_provider_version_id": "cpv_1aBcDeFgHjKlMnPq","commit": {"object": "custom_provider.deployment.commit","type": "merge"},"immutable_bucket": {"object": "bucket","scm_repo_link": {"object": "bucket.scm_repo","is_linked": true,"repository": {"object": "scm.repository","provider": {"object": "scm.provider","type": "github"}}}},"actor": {"object": "custom_provider.actor#preview","id": "act_1aBcDeFgHjKlMnPq","type": "external","identifier": "mtea-orgact_1aBcDeFgHjKlMnPq","name": "John Doe","organization_actor_id": "ora_1aBcDeFgHjKlMnPq","created_at": "2025-09-15T10:30:00.000Z"},"scm_push": {"object": "scm.push","actor": {"object": "scm.actor"},"commit": {"object": "scm.commit"},"repository": {"object": "scm.repository","provider": {"object": "scm.provider","type": "github"}}},"created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"},"environments": [{"object": "custom_provider.environment","id": "cpenv_1aBcDeFgHjKlMnPq","environment": {"object": "custom_provider.environment","id": "cpenv_1aBcDeFgHjKlMnPq","custom_provider_id": "cpr_1aBcDeFgHjKlMnPq","provider_id": "pro_5gHjKlMnPqRsTuVw","current_provider_version_id": "prv_4dEfGhJkLmNpQrSt","instance_id": "ins_2cDeFgHjKlMnPqRs","created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"}}],"custom_provider_id": "cpr_1aBcDeFgHjKlMnPq","provider_id": "pro_5gHjKlMnPqRsTuVw","actor": {"object": "custom_provider.actor#preview","id": "act_1aBcDeFgHjKlMnPq","type": "external","identifier": "mtea-orgact_1aBcDeFgHjKlMnPq","name": "John Doe","organization_actor_id": "ora_1aBcDeFgHjKlMnPq","created_at": "2025-09-15T10:30:00.000Z"},"container_image": {"container_registry": "https://index.docker.io/v1/","container_image_tag": "v1.0.0","container_image": "my-app-image"},"remote_mcp_server": {"url": "https://mcp.example.com","transport": "grpc"},"created_at": "2025-09-15T10:30:00.000Z","updated_at": "2026-01-10T14:45:00.000Z"},"actor": {"object": "custom_provider.actor#preview","id": "act_1aBcDeFgHjKlMnPq","type": "external","identifier": "mtea-orgact_1aBcDeFgHjKlMnPq","name": "John Doe","organization_actor_id": "ora_1aBcDeFgHjKlMnPq","created_at": "2025-09-15T10:30:00.000Z"},"scm_push": {"object": "scm.push","actor": {"object": "scm.actor"},"commit": {"object": "scm.commit"},"repository": {"object": "scm.repository","provider": {"object": "scm.provider","type": "github"}}},"created_at": "2025-09-15T10:30:00.000Z","applied_at": "2025-09-15T10:35:00.000Z"}
List custom provider commits
Returns a paginated list of commits for a custom provider.
Query Parameters
limit
NumberOptionalMaximum number of items to return (1-100)
after
StringOptionalReturn items after this ID
before
StringOptionalReturn items before this ID
cursor
StringOptionalPagination cursor from a previous response
order
EnumOptionalSort order for results
id
UnionOptionalFilter by commit IDs
custom_provider_version_id
UnionOptionalFilter by version IDs
custom_provider_environment_id
UnionOptionalFilter by environment IDs
custom_provider_id
UnionOptionalFilter by custom provider IDs
provider_id
UnionOptionalFilter by provider ID(s)
curl -X GET "https://api.metorial.com/custom-provider-commits" \-H "Authorization: Bearer metorial_sk_..."
Get custom provider commit
Retrieves a specific commit.
URL Parameters
custom_provider_commit_id
StringThe unique identifier for the custom_provider_commit
curl -X GET "https://api.metorial.com/custom-provider-commits/cus_Rm4Mnheq2bfEPhBhP7SY" \-H "Authorization: Bearer metorial_sk_..."
Create custom provider commit
Creates a new commit to promote or rollback a version in an environment.
Request Body
message
StringCommit message
action
ObjectThe commit action to perform
curl -X POST "https://api.metorial.com/custom-provider-commits" \-H "Content-Type: application/json" \-H "Authorization: Bearer metorial_sk_..." \-d '{"message": "example_message","action": {"type": "example_type","from_environment_id": "example_from_environment_id","to_environment_id": "example_to_environment_id"}}'