{
  "version": "automcp.v1",
  "baseUrl": "https://automcp.api.delino.io",
  "methods": [
    {
      "procedure": "/automcp.v1.ApprovalService/DecideApproval",
      "input": "automcp.v1.DecideApprovalRequest",
      "output": "automcp.v1.DecideApprovalResponse",
      "authenticationModes": [
        "browserToken"
      ],
      "serverStreaming": false,
      "browserTokenScopes": [
        "approvals:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.ApprovalService/GetApproval",
      "input": "automcp.v1.GetApprovalRequest",
      "output": "automcp.v1.GetApprovalResponse",
      "authenticationModes": [
        "browserToken"
      ],
      "serverStreaming": false,
      "browserTokenScopes": [
        "approvals:read"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.ApprovalService/ListApprovals",
      "input": "automcp.v1.ListApprovalsRequest",
      "output": "automcp.v1.ListApprovalsResponse",
      "authenticationModes": [
        "browserToken"
      ],
      "serverStreaming": false,
      "browserTokenScopes": [
        "approvals:read"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerSecretService/CreateSecret",
      "input": "automcp.v1.CreateSecretRequest",
      "output": "automcp.v1.CreateSecretResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "secrets:write"
      ],
      "browserTokenScopes": [
        "secrets:write"
      ],
      "payloadAccess": "writeOnlySecret",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerSecretService/DeleteSecret",
      "input": "automcp.v1.DeleteSecretRequest",
      "output": "automcp.v1.DeleteSecretResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "secrets:write"
      ],
      "browserTokenScopes": [
        "secrets:write"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerSecretService/GetSecret",
      "input": "automcp.v1.GetSecretRequest",
      "output": "automcp.v1.GetSecretResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "secrets:read"
      ],
      "browserTokenScopes": [
        "secrets:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerSecretService/ListSecrets",
      "input": "automcp.v1.ListSecretsRequest",
      "output": "automcp.v1.ListSecretsResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "secrets:read"
      ],
      "browserTokenScopes": [
        "secrets:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerSecretService/RotateSecret",
      "input": "automcp.v1.RotateSecretRequest",
      "output": "automcp.v1.RotateSecretResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "secrets:write"
      ],
      "browserTokenScopes": [
        "secrets:write"
      ],
      "payloadAccess": "writeOnlySecret",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerUserService/CreateCustomerUserGrant",
      "input": "automcp.v1.CreateCustomerUserGrantRequest",
      "output": "automcp.v1.CreateCustomerUserGrantResponse",
      "authenticationModes": [
        "backendKey"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "users:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerUserService/DeleteCustomerUser",
      "input": "automcp.v1.DeleteCustomerUserRequest",
      "output": "automcp.v1.DeleteCustomerUserResponse",
      "authenticationModes": [
        "backendKey"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "users:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerUserService/GetCustomerUserGrant",
      "input": "automcp.v1.GetCustomerUserGrantRequest",
      "output": "automcp.v1.GetCustomerUserGrantResponse",
      "authenticationModes": [
        "backendKey"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "users:read"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerUserService/IssueBrowserToken",
      "input": "automcp.v1.IssueBrowserTokenRequest",
      "output": "automcp.v1.IssueBrowserTokenResponse",
      "authenticationModes": [
        "backendKey"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "tokens:issue"
      ],
      "payloadAccess": "writeOnlySecret",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerUserService/RevokeCustomerUserGrant",
      "input": "automcp.v1.RevokeCustomerUserGrantRequest",
      "output": "automcp.v1.RevokeCustomerUserGrantResponse",
      "authenticationModes": [
        "backendKey"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "users:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.CustomerUserService/UpdateCustomerUserGrant",
      "input": "automcp.v1.UpdateCustomerUserGrantRequest",
      "output": "automcp.v1.UpdateCustomerUserGrantResponse",
      "authenticationModes": [
        "backendKey"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "users:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.HostedService/CreateHostedApprovalLink",
      "input": "automcp.v1.CreateHostedApprovalLinkRequest",
      "output": "automcp.v1.CreateHostedApprovalLinkResponse",
      "authenticationModes": [
        "browserToken"
      ],
      "serverStreaming": false,
      "browserTokenScopes": [
        "approvals:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.MemoryService/DeleteAllMemory",
      "input": "automcp.v1.DeleteAllMemoryRequest",
      "output": "automcp.v1.DeleteAllMemoryResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "memory:write"
      ],
      "browserTokenScopes": [
        "memory:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.MemoryService/DeleteMemoryItem",
      "input": "automcp.v1.DeleteMemoryItemRequest",
      "output": "automcp.v1.DeleteMemoryItemResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "memory:write"
      ],
      "browserTokenScopes": [
        "memory:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.MemoryService/GetMemorySettings",
      "input": "automcp.v1.GetMemorySettingsRequest",
      "output": "automcp.v1.GetMemorySettingsResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "memory:read"
      ],
      "browserTokenScopes": [
        "memory:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.MemoryService/ListMemoryItems",
      "input": "automcp.v1.ListMemoryItemsRequest",
      "output": "automcp.v1.ListMemoryItemsResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "memory:read"
      ],
      "browserTokenScopes": [
        "memory:read"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.MemoryService/UpdateMemoryItem",
      "input": "automcp.v1.UpdateMemoryItemRequest",
      "output": "automcp.v1.UpdateMemoryItemResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "memory:write"
      ],
      "browserTokenScopes": [
        "memory:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.MemoryService/UpdateMemorySettings",
      "input": "automcp.v1.UpdateMemorySettingsRequest",
      "output": "automcp.v1.UpdateMemorySettingsResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "memory:write"
      ],
      "browserTokenScopes": [
        "memory:write"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.OAuthHandoffService/CompleteOAuthLoginRequest",
      "input": "automcp.v1.CompleteOAuthLoginRequestRequest",
      "output": "automcp.v1.CompleteOAuthLoginRequestResponse",
      "authenticationModes": [
        "backendKey"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "oauth:login:complete"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.PlatformService/DownloadArtifact",
      "input": "automcp.v1.DownloadArtifactRequest",
      "output": "automcp.v1.DownloadArtifactResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:payload"
      ],
      "browserTokenScopes": [
        "runs:payload"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.PlatformService/GetArtifact",
      "input": "automcp.v1.GetArtifactRequest",
      "output": "automcp.v1.GetArtifactResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:payload"
      ],
      "browserTokenScopes": [
        "runs:payload"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.PlatformService/GetJob",
      "input": "automcp.v1.GetJobRequest",
      "output": "automcp.v1.GetJobResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:read"
      ],
      "browserTokenScopes": [
        "runs:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.PlatformService/ListArtifacts",
      "input": "automcp.v1.ListArtifactsRequest",
      "output": "automcp.v1.ListArtifactsResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:payload"
      ],
      "browserTokenScopes": [
        "runs:payload"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.PlatformService/ListJobs",
      "input": "automcp.v1.ListJobsRequest",
      "output": "automcp.v1.ListJobsResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:read"
      ],
      "browserTokenScopes": [
        "runs:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.RunService/CancelRun",
      "input": "automcp.v1.CancelRunRequest",
      "output": "automcp.v1.CancelRunResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken",
        "mcpOAuthToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:write"
      ],
      "browserTokenScopes": [
        "runs:write"
      ],
      "mcpOAuthScopes": [
        "runs:write"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.RunService/CreateRun",
      "input": "automcp.v1.CreateRunRequest",
      "output": "automcp.v1.CreateRunResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:write"
      ],
      "browserTokenScopes": [
        "runs:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "providerCostSettled"
    },
    {
      "procedure": "/automcp.v1.RunService/GetRun",
      "input": "automcp.v1.GetRunRequest",
      "output": "automcp.v1.GetRunResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken",
        "mcpOAuthToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:read"
      ],
      "browserTokenScopes": [
        "runs:read"
      ],
      "mcpOAuthScopes": [
        "runs:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.RunService/GetRunPayload",
      "input": "automcp.v1.GetRunPayloadRequest",
      "output": "automcp.v1.GetRunPayloadResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:payload"
      ],
      "browserTokenScopes": [
        "runs:payload"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.RunService/ListRuns",
      "input": "automcp.v1.ListRunsRequest",
      "output": "automcp.v1.ListRunsResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "runs:read"
      ],
      "browserTokenScopes": [
        "runs:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.RunService/StreamRunText",
      "input": "automcp.v1.StreamRunTextRequest",
      "output": "automcp.v1.StreamRunTextResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": true,
      "backendKeyScopes": [
        "runs:payload"
      ],
      "browserTokenScopes": [
        "runs:payload"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.RunService/WatchRun",
      "input": "automcp.v1.WatchRunRequest",
      "output": "automcp.v1.WatchRunResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken",
        "mcpOAuthToken"
      ],
      "serverStreaming": true,
      "backendKeyScopes": [
        "runs:read"
      ],
      "browserTokenScopes": [
        "runs:read"
      ],
      "mcpOAuthScopes": [
        "runs:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.SessionService/CreateSession",
      "input": "automcp.v1.CreateSessionRequest",
      "output": "automcp.v1.CreateSessionResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "sessions:write"
      ],
      "browserTokenScopes": [
        "sessions:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.SessionService/CreateVoiceConnectionTicket",
      "input": "automcp.v1.CreateVoiceConnectionTicketRequest",
      "output": "automcp.v1.CreateVoiceConnectionTicketResponse",
      "authenticationModes": [
        "browserToken"
      ],
      "serverStreaming": false,
      "browserTokenScopes": [
        "voice:connect"
      ],
      "payloadAccess": "writeOnlySecret",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.SessionService/DeleteSession",
      "input": "automcp.v1.DeleteSessionRequest",
      "output": "automcp.v1.DeleteSessionResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "sessions:write"
      ],
      "browserTokenScopes": [
        "sessions:write"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.SessionService/GetSession",
      "input": "automcp.v1.GetSessionRequest",
      "output": "automcp.v1.GetSessionResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "sessions:read"
      ],
      "browserTokenScopes": [
        "sessions:read"
      ],
      "payloadAccess": "customerPayload",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.SessionService/ListSessions",
      "input": "automcp.v1.ListSessionsRequest",
      "output": "automcp.v1.ListSessionsResponse",
      "authenticationModes": [
        "backendKey",
        "browserToken"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "sessions:read"
      ],
      "browserTokenScopes": [
        "sessions:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.WebhookService/CreateWebhookEndpoint",
      "input": "automcp.v1.CreateWebhookEndpointRequest",
      "output": "automcp.v1.CreateWebhookEndpointResponse",
      "authenticationModes": [
        "backendKey",
        "logtoUser"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "webhooks:write"
      ],
      "payloadAccess": "writeOnlySecret",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.WebhookService/DeleteWebhookEndpoint",
      "input": "automcp.v1.DeleteWebhookEndpointRequest",
      "output": "automcp.v1.DeleteWebhookEndpointResponse",
      "authenticationModes": [
        "backendKey",
        "logtoUser"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "webhooks:write"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.WebhookService/GetWebhookEndpoint",
      "input": "automcp.v1.GetWebhookEndpointRequest",
      "output": "automcp.v1.GetWebhookEndpointResponse",
      "authenticationModes": [
        "backendKey",
        "logtoUser"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "webhooks:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.WebhookService/ListWebhookDeliveries",
      "input": "automcp.v1.ListWebhookDeliveriesRequest",
      "output": "automcp.v1.ListWebhookDeliveriesResponse",
      "authenticationModes": [
        "backendKey",
        "logtoUser"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "webhooks:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.WebhookService/ListWebhookEndpoints",
      "input": "automcp.v1.ListWebhookEndpointsRequest",
      "output": "automcp.v1.ListWebhookEndpointsResponse",
      "authenticationModes": [
        "backendKey",
        "logtoUser"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "webhooks:read"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.WebhookService/RedeliverWebhookDelivery",
      "input": "automcp.v1.RedeliverWebhookDeliveryRequest",
      "output": "automcp.v1.RedeliverWebhookDeliveryResponse",
      "authenticationModes": [
        "backendKey",
        "logtoUser"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "webhooks:write"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.WebhookService/RotateWebhookSecret",
      "input": "automcp.v1.RotateWebhookSecretRequest",
      "output": "automcp.v1.RotateWebhookSecretResponse",
      "authenticationModes": [
        "backendKey",
        "logtoUser"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "webhooks:write"
      ],
      "payloadAccess": "writeOnlySecret",
      "costBehavior": "freeControlPlane"
    },
    {
      "procedure": "/automcp.v1.WebhookService/UpdateWebhookEndpoint",
      "input": "automcp.v1.UpdateWebhookEndpointRequest",
      "output": "automcp.v1.UpdateWebhookEndpointResponse",
      "authenticationModes": [
        "backendKey",
        "logtoUser"
      ],
      "serverStreaming": false,
      "backendKeyScopes": [
        "webhooks:write"
      ],
      "payloadAccess": "metadataOnly",
      "costBehavior": "freeControlPlane"
    }
  ]
}
