Datadog APM Service Definitions API

Read and upsert service catalog definitions — the declarative service.datadog.yaml documents carrying ownership, contacts, links and integrations. Four operations across four coexisting schema versions (v1, v2, v2.1, v2.2).

Operations 4

GET /api/v2/services/definitions Get all service definitions #
POST /api/v2/services/definitions Create or update service definition #
DELETE /api/v2/services/definitions/{service_name} Delete a single service definition #
GET /api/v2/services/definitions/{service_name} Get a single service definition #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/datadog-apm-service-definitions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

datadog-apm-service-definitions-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Datadog APM Service Definitions API
  description: The Service Definition operations of the Datadog API, extracted verbatim from the OpenAPI
    definition Datadog publishes for its own API clients.
  version: '1.0'
  contact:
    email: support@datadoghq.com
    name: Datadog Support
    url: https://www.datadoghq.com/support/
  x-source: https://raw.githubusercontent.com/DataDog/datadog-api-client-go/master/.generator/schemas/v2/openapi.yaml
  x-extracted: '2026-09-05'
  x-extraction-note: Path items, components and security schemes copied VERBATIM from the Datadog-published
    OpenAPI at x-source; only the APM-relevant subset of paths is retained. No content was authored by
    API Evangelist.
servers:
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: The regional site for Datadog customers.
      enum:
      - datadoghq.com
      - us3.datadoghq.com
      - us5.datadoghq.com
      - ap1.datadoghq.com
      - ap2.datadoghq.com
      - uk1.datadoghq.com
      - datadoghq.eu
      - ddog-gov.com
      - us2.ddog-gov.com
      - uk1.datadoghq.com
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
- url: '{protocol}://{name}'
  variables:
    name:
      default: api.datadoghq.com
      description: Full site DNS name.
    protocol:
      default: https
      description: The protocol for accessing the API.
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: Any Datadog deployment.
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
security:
- apiKeyAuth: []
  appKeyAuth: []
tags:
- description: 'API to create, update, retrieve and delete service definitions.

    Note: Service Catalog [v3.0 schema](https://docs.datadoghq.com/service_catalog/service_definitions/v3-0/)
    has new API endpoints documented under [Software Catalog](https://docs.datadoghq.com/api/latest/software-catalog/).
    Use the following Service Definition endpoints for v2.2 and earlier.'
  externalDocs:
    url: https://docs.datadoghq.com/tracing/service_catalog/
  name: Service Definition
paths:
  /api/v2/services/definitions:
    get:
      description: Get a list of all service definitions from the Datadog Service Catalog.
      operationId: ListServiceDefinitions
      parameters:
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageNumber'
      - $ref: '#/components/parameters/SchemaVersion'
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                    - attributes:
                        schema:
                          dd-service: test-service
                          schema-version: v2.2
                          team: my-team
                      id: test-service
                      type: service_definitions
              schema:
                $ref: '#/components/schemas/ServiceDefinitionsListResponse'
          description: OK
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - apm_service_catalog_read
      summary: Get all service definitions
      tags:
      - Service Definition
      x-pagination:
        limitParam: page[size]
        pageParam: page[number]
        resultsPath: data
      x-permission:
        operator: OR
        permissions:
        - apm_service_catalog_read
    post:
      description: Create or update service definition in the Datadog Service Catalog.
      operationId: CreateOrUpdateServiceDefinitions
      requestBody:
        content:
          application/json:
            examples:
              default:
                value:
                  application: my-app
                  ci-pipeline-fingerprints:
                  - j88xdEy0J5lc
                  - eZ7LMljCk8vo
                  contacts:
                  - contact: https://teams.microsoft.com/myteam
                    name: My team channel
                    type: slack
                  dd-service: my-service
                  description: My service description
                  extensions:
                    myorg/extension: extensionValue
                  integrations:
                    opsgenie:
                      region: US
                      service-url: https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000
                    pagerduty:
                      service-url: https://my-org.pagerduty.com/service-directory/PMyService
                  languages:
                  - dotnet
                  - go
                  - java
                  - js
                  - php
                  - python
                  - ruby
                  - c++
                  lifecycle: sandbox
                  links:
                  - name: Runbook
                    provider: Github
                    type: runbook
                    url: https://my-runbook
                  schema-version: v2.2
                  tags:
                  - my:tag
                  - service:tag
                  team: my-team
                  tier: High
                  type: web
            schema:
              $ref: '#/components/schemas/ServiceDefinitionsCreateRequest'
        description: Service Definition YAML/JSON.
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                    - attributes:
                        schema:
                          dd-service: my-service
                          schema-version: v2.2
                      id: abc-123
                      type: service_definitions
              schema:
                $ref: '#/components/schemas/ServiceDefinitionCreateResponse'
          description: CREATED
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '409':
          $ref: '#/components/responses/ConflictResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - apm_service_catalog_write
      summary: Create or update service definition
      tags:
      - Service Definition
      x-codegen-request-body-name: body
      x-permission:
        operator: OR
        permissions:
        - apm_service_catalog_write
  /api/v2/services/definitions/{service_name}:
    delete:
      description: Delete a single service definition in the Datadog Service Catalog.
      operationId: DeleteServiceDefinition
      parameters:
      - $ref: '#/components/parameters/ServiceName'
      responses:
        '204':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - apm_service_catalog_write
      summary: Delete a single service definition
      tags:
      - Service Definition
      x-permission:
        operator: OR
        permissions:
        - apm_service_catalog_write
    get:
      description: Get a single service definition from the Datadog Service Catalog.
      operationId: GetServiceDefinition
      parameters:
      - $ref: '#/components/parameters/ServiceName'
      - $ref: '#/components/parameters/SchemaVersion'
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                      attributes:
                        schema:
                          dd-service: test-service
                          schema-version: v2.2
                          team: my-team
                      id: test-service
                      type: service_definitions
              schema:
                $ref: '#/components/schemas/ServiceDefinitionGetResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '409':
          $ref: '#/components/responses/ConflictResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - apm_service_catalog_read
      summary: Get a single service definition
      tags:
      - Service Definition
      x-permission:
        operator: OR
        permissions:
        - apm_service_catalog_read
components:
  parameters:
    SchemaVersion:
      description: The schema version desired in the response.
      in: query
      name: schema_version
      required: false
      schema:
        $ref: '#/components/schemas/ServiceDefinitionSchemaVersions'
    PageSize:
      description: Number of items to return per page. The maximum allowed value is 100.
      in: query
      name: page[size]
      required: false
      schema:
        default: 10
        example: 10
        format: int64
        type: integer
    ServiceName:
      description: The name of the service.
      in: path
      name: service_name
      required: true
      schema:
        example: my-service
        type: string
    PageNumber:
      description: Specific page number to return.
      in: query
      name: page[number]
      required: false
      schema:
        default: 0
        example: 0
        format: int64
        type: integer
  schemas:
    ServiceDefinitionGetResponse:
      description: Get service definition response.
      properties:
        data:
          $ref: '#/components/schemas/ServiceDefinitionData'
      type: object
    ServiceDefinitionsCreateRequest:
      description: Create service definitions request.
      oneOf:
      - $ref: '#/components/schemas/ServiceDefinitionV2Dot2'
      - $ref: '#/components/schemas/ServiceDefinitionV2Dot1'
      - $ref: '#/components/schemas/ServiceDefinitionV2'
      - $ref: '#/components/schemas/ServiceDefinitionRaw'
    ServiceDefinitionV2Dot1:
      description: Service definition v2.1 for providing service metadata and integrations.
      properties:
        application:
          description: Identifier for a group of related services serving a product feature, which the
            service is a part of.
          example: my-app
          type: string
        contacts:
          description: A list of contacts related to the services.
          items:
            $ref: '#/components/schemas/ServiceDefinitionV2Dot1Contact'
          type: array
        dd-service:
          description: Unique identifier of the service. Must be unique across all services and is used
            to match with a service in Datadog.
          example: my-service
          type: string
        description:
          description: A short description of the service.
          example: My service description
          type: string
        extensions:
          additionalProperties: {}
          description: Extensions to v2.1 schema.
          example:
            myorg/extension: extensionValue
          type: object
        integrations:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot1Integrations'
        lifecycle:
          description: The current life cycle phase of the service.
          example: sandbox
          type: string
        links:
          description: A list of links related to the services.
          items:
            $ref: '#/components/schemas/ServiceDefinitionV2Dot1Link'
          type: array
        schema-version:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot1Version'
        tags:
          description: A set of custom tags.
          example:
          - my:tag
          - service:tag
          items:
            description: A custom tag string in `key:value` format.
            type: string
          type: array
        team:
          description: Team that owns the service. It is used to locate a team defined in Datadog Teams
            if it exists.
          example: my-team
          type: string
        tier:
          description: Importance of the service.
          example: High
          type: string
      required:
      - schema-version
      - dd-service
      type: object
    ServiceDefinitionCreateResponse:
      description: Create service definitions response.
      properties:
        data:
          description: Create service definitions response payload.
          items:
            $ref: '#/components/schemas/ServiceDefinitionData'
          type: array
      type: object
    ServiceDefinitionV2Dot2:
      description: Service definition v2.2 for providing service metadata and integrations.
      properties:
        application:
          description: Identifier for a group of related services serving a product feature, which the
            service is a part of.
          example: my-app
          type: string
        ci-pipeline-fingerprints:
          description: A set of CI fingerprints.
          example:
          - j88xdEy0J5lc
          - eZ7LMljCk8vo
          items:
            description: A CI pipeline fingerprint string.
            type: string
          type: array
        contacts:
          description: A list of contacts related to the services.
          items:
            $ref: '#/components/schemas/ServiceDefinitionV2Dot2Contact'
          type: array
        dd-service:
          description: Unique identifier of the service. Must be unique across all services and is used
            to match with a service in Datadog.
          example: my-service
          type: string
        description:
          description: A short description of the service.
          example: My service description
          type: string
        extensions:
          additionalProperties: {}
          description: Extensions to v2.2 schema.
          example:
            myorg/extension: extensionValue
          type: object
        integrations:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot2Integrations'
        languages:
          description: 'The service''s programming language. Datadog recognizes the following languages:
            `dotnet`, `go`, `java`, `js`, `php`, `python`, `ruby`, and `c++`.'
          example:
          - dotnet
          - go
          - java
          - js
          - php
          - python
          - ruby
          - c++
          items:
            description: A programming language identifier.
            type: string
          type: array
        lifecycle:
          description: The current life cycle phase of the service.
          example: sandbox
          type: string
        links:
          description: A list of links related to the services.
          items:
            $ref: '#/components/schemas/ServiceDefinitionV2Dot2Link'
          type: array
        schema-version:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot2Version'
        tags:
          description: A set of custom tags.
          example:
          - my:tag
          - service:tag
          items:
            description: A custom tag string in `key:value` format.
            type: string
          type: array
        team:
          description: Team that owns the service. It is used to locate a team defined in Datadog Teams
            if it exists.
          example: my-team
          type: string
        tier:
          description: Importance of the service.
          example: High
          type: string
        type:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot2Type'
      required:
      - schema-version
      - dd-service
      type: object
    ServiceDefinitionV2Dot2Link:
      description: Service's external links.
      properties:
        name:
          description: Link name.
          example: Runbook
          type: string
        provider:
          description: Link provider.
          example: Github
          type: string
        type:
          description: 'Link type. Datadog recognizes the following types: `runbook`, `doc`, `repo`, `dashboard`,
            and `other`.'
          example: runbook
          type: string
        url:
          description: Link URL.
          example: https://my-runbook
          type: string
      required:
      - name
      - type
      - url
      type: object
    ServiceDefinitionV2Dot1Version:
      default: v2.1
      description: Schema version being used.
      enum:
      - v2.1
      example: v2.1
      type: string
      x-enum-varnames:
      - V2_1
    ServiceDefinitionV2Dot2Version:
      default: v2.2
      description: Schema version being used.
      enum:
      - v2.2
      example: v2.2
      type: string
      x-enum-varnames:
      - V2_2
    ServiceDefinitionV2Dot1Link:
      description: Service's external links.
      properties:
        name:
          description: Link name.
          example: Runbook
          type: string
        provider:
          description: Link provider.
          example: Github
          type: string
        type:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot1LinkType'
        url:
          description: Link URL.
          example: https://my-runbook
          type: string
      required:
      - name
      - type
      - url
      type: object
    ServiceDefinitionsListResponse:
      description: Create service definitions response.
      properties:
        data:
          description: Data representing service definitions.
          items:
            $ref: '#/components/schemas/ServiceDefinitionData'
          type: array
      type: object
    ServiceDefinitionSchemaVersions:
      description: Schema versions
      enum:
      - v1
      - v2
      - v2.1
      - v2.2
      type: string
      x-enum-varnames:
      - V1
      - V2
      - V2_1
      - V2_2
    ServiceDefinitionRaw:
      description: Service Definition in raw JSON/YAML representation.
      example: '---

        schema-version: v2

        dd-service: my-service'
      type: string
    APIErrorResponse:
      description: API error response.
      properties:
        errors:
          description: A list of errors.
          example:
          - Bad Request
          items:
            description: A list of items.
            example: Bad Request
            type: string
          type: array
      required:
      - errors
      type: object
    ServiceDefinitionData:
      description: Service definition data.
      properties:
        attributes:
          $ref: '#/components/schemas/ServiceDefinitionDataAttributes'
        id:
          description: Service definition id.
          type: string
        type:
          description: Service definition type.
          type: string
      type: object
    ServiceDefinitionV2Dot1Integrations:
      description: Third party integrations that Datadog supports.
      properties:
        opsgenie:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot1Opsgenie'
        pagerduty:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot1Pagerduty'
      type: object
    ServiceDefinitionV2Dot1Contact:
      description: Service owner's contacts information.
      oneOf:
      - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Email'
      - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Slack'
      - $ref: '#/components/schemas/ServiceDefinitionV2Dot1MSTeams'
    ServiceDefinitionV2:
      description: Service definition V2 for providing service metadata and integrations.
      properties:
        contacts:
          description: A list of contacts related to the services.
          items:
            $ref: '#/components/schemas/ServiceDefinitionV2Contact'
          type: array
        dd-service:
          description: Unique identifier of the service. Must be unique across all services and is used
            to match with a service in Datadog.
          example: my-service
          type: string
        dd-team:
          description: Experimental feature. A Team handle that matches a Team in the Datadog Teams product.
          example: my-team
          type: string
        docs:
          description: A list of documentation related to the services.
          items:
            $ref: '#/components/schemas/ServiceDefinitionV2Doc'
          type: array
        extensions:
          additionalProperties: {}
          description: Extensions to V2 schema.
          example:
            myorg/extension: extensionValue
          type: object
        integrations:
          $ref: '#/components/schemas/ServiceDefinitionV2Integrations'
        links:
          description: A list of links related to the services.
          items:
            $ref: '#/components/schemas/ServiceDefinitionV2Link'
          type: array
        repos:
          description: A list of code repositories related to the services.
          items:
            $ref: '#/components/schemas/ServiceDefinitionV2Repo'
          type: array
        schema-version:
          $ref: '#/components/schemas/ServiceDefinitionV2Version'
        tags:
          description: A set of custom tags.
          example:
          - my:tag
          - service:tag
          items:
            description: A custom tag string in `key:value` format.
            type: string
          type: array
        team:
          description: Team that owns the service.
          example: my-team
          type: string
      required:
      - schema-version
      - dd-service
      type: object
    ServiceDefinitionV2Dot1LinkType:
      description: Link type.
      enum:
      - doc
      - repo
      - runbook
      - dashboard
      - other
      example: runbook
      type: string
      x-enum-varnames:
      - DOC
      - REPO
      - RUNBOOK
      - DASHBOARD
      - OTHER
    ServiceDefinitionV2Dot1Email:
      description: Service owner's email.
      properties:
        contact:
          description: Contact value.
          example: contact@datadoghq.com
          type: string
        name:
          description: Contact email.
          example: Team Email
          type: string
        type:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot1EmailType'
      required:
      - type
      - contact
      type: object
    ServiceDefinitionV2Dot1MSTeams:
      description: Service owner's Microsoft Teams.
      properties:
        contact:
          description: Contact value.
          example: https://teams.microsoft.com/myteam
          type: string
        name:
          description: Contact Microsoft Teams.
          example: My team channel
          type: string
        type:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot1MSTeamsType'
      required:
      - type
      - contact
      type: object
    ServiceDefinitionV2Link:
      description: Service's external links.
      properties:
        name:
          description: Link name.
          example: Runbook
          type: string
        type:
          $ref: '#/components/schemas/ServiceDefinitionV2LinkType'
        url:
          description: Link URL.
          example: https://my-runbook
          type: string
      required:
      - name
      - type
      - url
      type: object
    ServiceDefinitionV2Dot2Contact:
      description: Service owner's contacts information.
      properties:
        contact:
          description: Contact value.
          example: https://teams.microsoft.com/myteam
          type: string
        name:
          description: Contact Name.
          example: My team channel
          type: string
        type:
          description: 'Contact type. Datadog recognizes the following types: `email`, `slack`, and `microsoft-teams`.'
          example: slack
          type: string
      required:
      - type
      - contact
      type: object
    ServiceDefinitionV2Dot1EmailType:
      description: Contact type.
      enum:
      - email
      example: email
      type: string
      x-enum-varnames:
      - EMAIL
    ServiceDefinitionV2Dot1MSTeamsType:
      description: Contact type.
      enum:
      - microsoft-teams
      example: microsoft-teams
      type: string
      x-enum-varnames:
      - MICROSOFT_TEAMS
    ServiceDefinitionV2Dot1Opsgenie:
      description: Opsgenie integration for the service.
      properties:
        region:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot1OpsgenieRegion'
        service-url:
          description: Opsgenie service url.
          example: https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000
          type: string
      required:
      - service-url
      type: object
    ServiceDefinitionV2Dot1Pagerduty:
      description: PagerDuty integration for the service.
      properties:
        service-url:
          description: PagerDuty service url.
          example: https://my-org.pagerduty.com/service-directory/PMyService
          type: string
      type: object
    ServiceDefinitionV2Dot2Integrations:
      description: Third party integrations that Datadog supports.
      properties:
        opsgenie:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot2Opsgenie'
        pagerduty:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot2Pagerduty'
      type: object
    ServiceDefinitionV2Dot2Type:
      description: The type of service.
      example: web
      type: string
    ServiceDefinitionDataAttributes:
      description: Service definition attributes.
      properties:
        meta:
          $ref: '#/components/schemas/ServiceDefinitionMeta'
        schema:
          $ref: '#/components/schemas/ServiceDefinitionSchema'
      type: object
    ServiceDefinitionV2Dot2Pagerduty:
      description: PagerDuty integration for the service.
      properties:
        service-url:
          description: PagerDuty service url.
          example: https://my-org.pagerduty.com/service-directory/PMyService
          type: string
      type: object
    ServiceDefinitionSchema:
      description: Service definition schema.
      oneOf:
      - $ref: '#/components/schemas/ServiceDefinitionV1'
      - $ref: '#/components/schemas/ServiceDefinitionV2'
      - $ref: '#/components/schemas/ServiceDefinitionV2Dot1'
      - $ref: '#/components/schemas/ServiceDefinitionV2Dot2'
    ServiceDefinitionV2Dot1Slack:
      description: Service owner's Slack channel.
      properties:
        contact:
          description: Slack Channel.
          example: https://yourcompany.slack.com/archives/channel123
          type: string
        name:
          description: Contact Slack.
          example: Team Slack
          type: string
        type:
          $ref: '#/components/schemas/ServiceDefinitionV2Dot1SlackType'
      required:
      - type
      - contact
      type: object
    ServiceDefinitionMeta:
      description: Metadata about a service definition.
      properties:
        github-html-url:
          description: GitHub HTML URL.
          type: string
        ingested-schema-version:
          description: Ingestion schema version.
          type: string
        ingestion-source:
          description: Ingestion source of the service definition.
          type: string
        last-modified-time:
          description: Last modified time of the service definition.
          type: string
        origin:
          description: User defined origin of the service definition.
          type: string
        origin-detail:
          description: User defined origin's detail of the service definition.
          type: string
        warnings:
          description: A list of schema validation warnings.
          items:
            $ref: '#/components/schemas/ServiceDefinitionMetaWarnings'
          type: array
      type: object
    ServiceDefinitionV2Integrations:
      description: Third party integrations that Datadog supports.
      properties:
        opsgenie:
          $ref: '#/components/schemas/ServiceDefinitionV2Opsgenie'
        pagerduty:
          $ref: '#/components/schemas/ServiceDefinitionV2Pagerduty'
      type: object
    ServiceDefinitionV2Dot1OpsgenieRegion:
      description: Opsgenie instance region.
      enum:
      - US
      - EU
      example: US
      type: string
      x-enum-varnames:
      - US
      - EU
    ServiceDefinitionV1:
      deprecated: true
      description: Deprecated - Service definition V1 for providing additional service metadata and integrations.
      properties:
        contact:
          $ref: '#/components/schemas/ServiceDefinitionV1Contact'
        extensions:
          additionalProperties: {}
          description: Extensions to V1 schema.
          example:
            myorg/extension: extensionValue
          type: object
        external-resources:
          description: A list of external links related to the services.
          items:
            $ref: '#/components/schemas/ServiceDefinitionV1Resource'
          type: array
        info:
          $ref: '#/components/schemas/ServiceDefinitionV1Info'
        integrations:
          $ref: '#/components/schemas/ServiceDefinitionV1Integrations'
        org:
          $ref: '#/components/schemas/ServiceDefinitionV1Org'
        schema-version:
          $ref: '#/components/schemas/ServiceDefinitionV1Version'
        tags:
          description: A set of custom tags.
          example:
          - my:tag
          - service:tag
          items:
            description: A custom tag string in `key:value` format.
            type: string
          type: array
      required:
      - schema-version
      - info
      type: object
    ServiceDefinitionV2Contact:
      description: Service owner's contacts information.
      oneOf:
      - $ref: '#/components/schemas/ServiceDefinitionV2Email'
      - $ref: '#/components/schemas/ServiceDefinitionV2Slack'
      - $ref: '#/components/schemas/ServiceDefinitionV2MSTeams'
    ServiceDefinitionV2MSTeams:
      description: Service owner's Microsoft Teams.
      properties:
        contact:
          description: Contact value.
          example: https://teams.microsoft.com/myteam
          type: string
        name:
          description: Contact Microsoft Teams.
          example: My team channel
          type: string
        type:
          $ref: '#/components/schemas/ServiceDefinitionV2MSTeamsType'
      required:
      - type
      - contact
      type: object
    ServiceDefinitionV1Resource:
      description: Service's external links.
      properties:
        name:
          description: Link name.
          example: Runbook
          type: string
        type:
          $ref: '#/components/schemas/ServiceDefinitionV1ResourceType'
        url:
          description: Link URL.
          example: https://my-runbook
          type: string
      required:
      - name
      - type
      - url
      type: object
    ServiceDefinitionV2Pagerduty:
      description: PagerDuty service URL for the service.
      example: https://my-org.pagerduty.com/service-directory/PMyService
      type: string
    ServiceDefinitionV1Version:
      default: v1
      description: Schema version being used.
      enum:
      - v1
      example: v1
      type: string
      x-enum-varnames:
      - V1
    ServiceDefinitionV1Integrations:
      description: Third party integrations that Datadog supports.
      properties:
        pagerduty:
          $ref: '#/components/schemas/ServiceDefinitionV1Pagerduty'
      type: object
    ServiceDefinitionV2MSTeamsType:
      description: Contact type.
      enum:
      - microsoft-teams
      example: microsoft-teams
      type: string
      x-enum-varnames:
      - MICROSOFT_TEAMS
    ServiceDefinitionV1Info:
      description: Basic information about a service.
      properties:
        dd-service:
          description: Unique identifier of the service. Must be unique across all services and is used
            to match with a service in Datadog.
          example: myservice
          type: string
        description:
          desc

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog-apm/refs/heads/main/openapi/datadog-apm-service-definitions-api-openapi.yml