---
title: "POST /v1/register/{service}"
method: POST
path: "/v1/register/{service}"
---

# POST /v1/register/{service}

`POST /v1/register/{service}`

This operation registers the specified service

## Path parameters

- `service` 'dynatrace' | 'servicenow' | 'pagerduty' | 'gitlab' | 'eventChannel' | 'mcpservernewrelic' | 'mcpservergrafana' | 'mcpserverdatadog' | 'mcpserver' | 'mcpserversplunk' | 'azureidentity' | 'mcpserversigv4' | 'remoteagent' | 'remoteagentsigv4', required — Services that can be registered via the post-registration API (excludes OAuth 3LO services).

## Request body

- object
  - `serviceDetails` object, required — Union of service-specific configuration details for service registration.
    - `dynatrace` object — Dynatrace-specific service details.
      - `accountUrn` string, required — Dynatrace resource account urn.
      - `authorizationConfig` object — Dynatrace OAuth client credentials configuration. Use this when registering with OAuth client credentials flow.
        - `oAuthClientCredentials` object — OAuth client credentials configuration.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `clientSecret` string, password, required — OAuth client secret for authenticating with the service.
    - `servicenow` object — ServiceNow-specific service details.
      - `instanceUrl` string, required — ServiceNow instance URL.
      - `authorizationConfig` object — ServiceNow OAuth client credentials configuration. Use this when registering with OAuth client credentials flow.
        - `oAuthClientCredentials` object — OAuth client credentials configuration.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `clientSecret` string, password, required — OAuth client secret for authenticating with the service.
    - `mcpserverdatadog` object — Datadog MCP server-specific service details.
      - `name` string, required — MCP server name.
      - `endpoint` string, required — MCP server endpoint URL.
      - `description` string, password — Optional description for the MCP server.
      - `authorizationConfig` object, required — Datadog MCP server authorization configuration (only authorization discovery is supported).
        - `authorizationDiscovery` object — Datadog MCP server authorization discovery configuration.
          - `returnToEndpoint` string, required — The endpoint to return to after OAuth flow completes (must be AWS console domain)
    - `mcpserver` object — MCP server-specific service details.
      - `name` string, required — MCP server name.
      - `endpoint` string, required — MCP server endpoint URL.
      - `description` string, password — Optional description for the MCP server.
      - `authorizationConfig` object, required — MCP server authorization configuration.
        - `oAuthClientCredentials` object — MCP server configuration with OAuth client credentials.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `clientSecret` string, password, required — OAuth client secret for authenticating with the service.
          - `exchangeUrl` string, required — OAuth token exchange URL.
          - `scopes` OAuthScope[] — OAuth scopes for 3LO authentication. The service will always request scope offline_access.
        - `oAuth3LO` object — MCP server configuration with OAuth 3LO.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `returnToEndpoint` string, required — The endpoint to return to after OAuth flow completes (must be AWS console domain)
          - `authorizationUrl` string, required — OAuth authorization URL for 3LO authentication.
          - `exchangeUrl` string, required — OAuth token exchange URL.
          - `clientSecret` string, password — OAuth client secret for authenticating with the service. Required for confidential clients or when PKCE is not supported. Optional for public clients using PKCE.
          - `supportCodeChallenge` boolean — Whether the service supports PKCE (Proof Key for Code Exchange) for enhanced security during the OAuth flow.
          - `scopes` OAuthScope[] — OAuth scopes for 3LO authentication. The service will always request scope offline_access.
        - `apiKey` object — MCP server configuration with API key authentication.
          - `apiKeyName` string, required — User friendly API key name specified by end user.
          - `apiKeyValue` string, password, required — API key value for authenticating with the service.
          - `apiKeyHeader` string, required — HTTP header name to send the API key in requests to the service.
        - `bearerToken` object — MCP server configuration with Bearer token (RFC 6750).
          - `tokenName` string, required — User friendly bearer token name specified by end user.
          - `tokenValue` string, password, required — Bearer token value in alphanumeric for authenticating with the service.
          - `authorizationHeader` string — HTTP header name to send the bearer token in requests to the service. Defaults to 'Authorization' per RFC 6750.
        - `authorizationDiscovery` object — MCP server authorization discovery configuration.
          - `returnToEndpoint` string, required — The endpoint to return to after OAuth flow completes (must be AWS console domain)
    - `gitlab` object — GitLab-specific service details.
      - `targetUrl` string, required — GitLab instance URL (e.g., https://gitlab.com or self-hosted instance).
      - `tokenType` 'personal' | 'group', required — Type of GitLab access token
      - `tokenValue` string, password, required — GitLab access token value
      - `groupId` string — Optional GitLab group ID for group-level access tokens
    - `mcpserversplunk` object — Splunk MCP server-specific service details.
      - `name` string, required — MCP server name.
      - `endpoint` string, required — MCP server endpoint URL.
      - `description` string, password — Optional description for the MCP server.
      - `authorizationConfig` object, required — MCP server authorization configuration.
        - `oAuthClientCredentials` object — MCP server configuration with OAuth client credentials.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `clientSecret` string, password, required — OAuth client secret for authenticating with the service.
          - `exchangeUrl` string, required — OAuth token exchange URL.
          - `scopes` OAuthScope[] — OAuth scopes for 3LO authentication. The service will always request scope offline_access.
        - `oAuth3LO` object — MCP server configuration with OAuth 3LO.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `returnToEndpoint` string, required — The endpoint to return to after OAuth flow completes (must be AWS console domain)
          - `authorizationUrl` string, required — OAuth authorization URL for 3LO authentication.
          - `exchangeUrl` string, required — OAuth token exchange URL.
          - `clientSecret` string, password — OAuth client secret for authenticating with the service. Required for confidential clients or when PKCE is not supported. Optional for public clients using PKCE.
          - `supportCodeChallenge` boolean — Whether the service supports PKCE (Proof Key for Code Exchange) for enhanced security during the OAuth flow.
          - `scopes` OAuthScope[] — OAuth scopes for 3LO authentication. The service will always request scope offline_access.
        - `apiKey` object — MCP server configuration with API key authentication.
          - `apiKeyName` string, required — User friendly API key name specified by end user.
          - `apiKeyValue` string, password, required — API key value for authenticating with the service.
          - `apiKeyHeader` string, required — HTTP header name to send the API key in requests to the service.
        - `bearerToken` object — MCP server configuration with Bearer token (RFC 6750).
          - `tokenName` string, required — User friendly bearer token name specified by end user.
          - `tokenValue` string, password, required — Bearer token value in alphanumeric for authenticating with the service.
          - `authorizationHeader` string — HTTP header name to send the bearer token in requests to the service. Defaults to 'Authorization' per RFC 6750.
        - `authorizationDiscovery` object — MCP server authorization discovery configuration.
          - `returnToEndpoint` string, required — The endpoint to return to after OAuth flow completes (must be AWS console domain)
    - `mcpservernewrelic` object — New Relic-specific service details.
      - `authorizationConfig` object, required — New Relic MCP server authorization configuration.
        - `apiKey` object — New Relic API Key authentication (apiKey, accountId, region).
          - `apiKey` string, password, required — New Relic User API Key
          - `accountId` string, required — New Relic Account ID
          - `region` 'US' | 'EU', required — New Relic region (US or EU)
          - `applicationIds` NewRelicApplicationIdsMemberString[] — List of monitored APM application IDs in New Relic
          - `entityGuids` NewRelicEntityGuidsMemberString[] — List of globally unique IDs for New Relic resources (apps, hosts, services)
          - `alertPolicyIds` NewRelicAlertPolicyIdsMemberString[] — List of alert policy IDs grouping related conditions
    - `eventChannel` object — Event Channel specific service details.
      - `type` 'webhook' — The type of event channel
    - `mcpservergrafana` object — Datadog MCP server-specific service details.
      - `name` string, required — MCP server name.
      - `endpoint` string, required — MCP server endpoint URL.
      - `description` string, password — Optional description for the MCP server.
      - `authorizationConfig` object, required — Grafana MCP server authorization configuration (experimental).
        - `oAuthClientCredentials` object — MCP server configuration with OAuth client credentials.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `clientSecret` string, password, required — OAuth client secret for authenticating with the service.
          - `exchangeUrl` string, required — OAuth token exchange URL.
          - `scopes` OAuthScope[] — OAuth scopes for 3LO authentication. The service will always request scope offline_access.
        - `oAuth3LO` object — MCP server configuration with OAuth 3LO.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `returnToEndpoint` string, required — The endpoint to return to after OAuth flow completes (must be AWS console domain)
          - `authorizationUrl` string, required — OAuth authorization URL for 3LO authentication.
          - `exchangeUrl` string, required — OAuth token exchange URL.
          - `clientSecret` string, password — OAuth client secret for authenticating with the service. Required for confidential clients or when PKCE is not supported. Optional for public clients using PKCE.
          - `supportCodeChallenge` boolean — Whether the service supports PKCE (Proof Key for Code Exchange) for enhanced security during the OAuth flow.
          - `scopes` OAuthScope[] — OAuth scopes for 3LO authentication. The service will always request scope offline_access.
        - `apiKey` object — MCP server configuration with API key authentication.
          - `apiKeyName` string, required — User friendly API key name specified by end user.
          - `apiKeyValue` string, password, required — API key value for authenticating with the service.
          - `apiKeyHeader` string, required — HTTP header name to send the API key in requests to the service.
        - `bearerToken` object — MCP server configuration with Bearer token (RFC 6750).
          - `tokenName` string, required — User friendly bearer token name specified by end user.
          - `tokenValue` string, password, required — Bearer token value in alphanumeric for authenticating with the service.
          - `authorizationHeader` string — HTTP header name to send the bearer token in requests to the service. Defaults to 'Authorization' per RFC 6750.
        - `authorizationDiscovery` object — MCP server authorization discovery configuration.
          - `returnToEndpoint` string, required — The endpoint to return to after OAuth flow completes (must be AWS console domain)
    - `pagerduty` object — PagerDuty specific service details.
      - `scopes` String[], required — PagerDuty scopes.
      - `authorizationConfig` object, required — PagerDuty authorization configuration
        - `oAuthClientCredentials` object — OAuth client credentials configuration.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `clientSecret` string, password, required — OAuth client secret for authenticating with the service.
    - `azureidentity` object — Azure integration with AWS Outbound Identity Federation specific service details.
      - `tenantId` string, required — The Azure Active Directory tenant ID for the identity.
      - `clientId` string, required — The client ID of the service principal or managed identity used for authentication.
      - `webIdentityRoleArn` string, required — The role ARN to be assumed by DevOps Agent for requesting Web Identity Token.
      - `webIdentityTokenAudiences` String[], required — The audiences for the Web Identity Token.
    - `mcpserversigv4` object — SigV4-authenticated MCP server-specific service details.
      - `name` string, required — MCP server name.
      - `endpoint` string, required — MCP server endpoint URL.
      - `description` string, password — Optional description for the MCP server.
      - `authorizationConfig` object, required — MCP Server SigV4 authorization configuration.
        - `region` string, required — AWS region for SigV4 signing. Use '*' for SigV4a multi-region signing.
        - `service` string, required — AWS service name for SigV4 signing.
        - `roleArn` string — Deprecated — use mcpRoleArn instead. IAM role ARN to assume for SigV4 signing.Use mcpRoleArn instead.
        - `mcpRoleArn` string — IAM role ARN to assume for SigV4 signing. Optional — when omitted, credentials are resolved at runtime via a monitor account association.
        - `customHeaders` object — Custom headers for the SigV4 MCP server.
    - `remoteagent` object — Remote A2A agent service details (token-based auth).
      - `name` string, required — Name identifier for a remote A2A agent.
      - `endpoint` string, required — HTTPS endpoint URL for a remote A2A agent.
      - `description` string, password — Description field
      - `authorizationConfig` object, required — Remote agent authorization configuration.
        - `apiKey` object — Remote agent configuration with API key authentication.
          - `apiKeyName` string, required — User friendly API key name specified by end user.
          - `apiKeyValue` string, password, required — API key value for authenticating with the service.
          - `apiKeyHeader` string, required — HTTP header name to send the API key in requests to the service.
        - `oAuthClientCredentials` object — Remote agent configuration with OAuth client credentials.
          - `clientName` string — User friendly OAuth client name specified by end user.
          - `clientId` string, password, required — OAuth client ID for authenticating with the service.
          - `exchangeParameters` object — OAuth token exchange parameters for authenticating with the service.
          - `clientSecret` string, password, required — OAuth client secret for authenticating with the service.
          - `exchangeUrl` string, required — OAuth token exchange URL.
          - `scopes` OAuthScope[] — OAuth scopes for authentication.
        - `bearerToken` object — Remote agent configuration with Bearer token (RFC 6750).
          - `tokenName` string, required — User friendly bearer token name specified by end user.
          - `tokenValue` string, password, required — Bearer token value in alphanumeric for authenticating with the service.
          - `authorizationHeader` string — HTTP header name to send the bearer token in requests to the service. Defaults to 'Authorization' per RFC 6750.
    - `remoteagentsigv4` object — Remote A2A agent service details (SigV4 auth).
      - `name` string, required — Name identifier for a remote A2A agent.
      - `endpoint` string, required — HTTPS endpoint URL for a remote A2A agent.
      - `description` string, password — Description field
      - `authorizationConfig` object, required — Remote agent SigV4 authorization configuration.
        - `region` string, required — AWS region identifier or wildcard (*) for SigV4a multi-region signing.
        - `service` string, required — The AWS service name for SigV4 signing.
        - `roleArn` string — AWS IAM role ARN.
  - `kmsKeyArn` string — The ARN of the AWS Key Management Service (AWS KMS) customer managed key that's used to encrypt resources.
  - `privateConnectionName` string — Unique name for a Private Connection within an account.
  - `targetUrlPrivateConnectionName` string — Unique name for a Private Connection within an account.
  - `exchangeUrlPrivateConnectionName` string — Unique name for a Private Connection within an account.
  - `name` string — The display name for a registered service.
  - `tags` object — Map of tag keys to values.

## Response `201`

Success

- RegisterServiceOutput — Output containing the service ID and any additional steps required for registration.
  - `serviceId` string — Service ID - present when registration is complete, absent when additional steps are required
  - `additionalStep` object — Indicates if additional steps are required to complete service registration (e.g., 3-legged OAuth)
    - `oauth` object — OAuth authorization step required.
      - `authorizationUrl` string, required — The URL to redirect the user to for OAuth authorization.
  - `kmsKeyArn` string — The ARN of the AWS Key Management Service (AWS KMS) customer managed key that's used to encrypt resources.
  - `tags` object — Tags associated with the registered Service.

## Other responses

- `480` — ValidationException
- `481` — ContentSizeExceededException
- `482` — ServiceQuotaExceededException
- `483` — ConflictException
- `484` — InternalServerException
- `485` — AccessDeniedException
- `486` — InvalidParameterException
- `487` — ResourceNotFoundException
- `488` — ThrottlingException

---

[API](https://skmtc.net/aws/apis/devops-agent.md) · [All operations](https://skmtc.net/aws/apis/devops-agent/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/devops-agent/versions/ca2af02d3853/schema)
