{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/postman/main/json-schema/postman-get-api-catalog-discovery-service-schema.json",
  "title": "getApiCatalogDiscoveryService",
  "description": "Information about the discovered service.",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/postman-apicatalog-api-openapi.yml#/components/schemas/getApiCatalogDiscoveryService",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The service's ID."
    },
    "organizationId": {
      "type": "integer",
      "description": "The ID of the organization that the service belongs to."
    },
    "discoverySource": {
      "type": "string",
      "description": "The source through which the service was discovered."
    },
    "name": {
      "type": "string",
      "description": "The servie's name."
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "The service's description."
    },
    "version": {
      "type": "string",
      "description": "The service's version."
    },
    "sourceEnvironment": {
      "type": [
        "string",
        "null"
      ],
      "description": "The source environment in which the service was discovered."
    },
    "systemEnvironmentId": {
      "type": [
        "string",
        "null"
      ],
      "description": "The mapped system environment's ID. Returns a null value if the environment is not mapped."
    },
    "tags": {
      "$ref": "#/$defs/apiCatalogDiscoveryServicesTagsData"
    },
    "status": {
      "type": "string",
      "description": "The service's current status."
    },
    "providerServiceId": {
      "type": "string",
      "description": "The ID of the service in the source registry."
    },
    "providerMetadata": {
      "$ref": "#/$defs/apiCatalogDiscoveryServicesProviderMetadata"
    },
    "apiDefinition": {
      "$ref": "#/$defs/getApiCatalogDiscoveryServiceApiDefinitionData"
    },
    "endpoints": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/apiCatalogDiscoveryServiceEndpointsData"
      },
      "description": "A list of the service's endpoints."
    },
    "endpointsCount": {
      "type": "integer",
      "description": "The total number of endpoints associated with the service."
    },
    "discoveredAt": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time at which the service was first discovered."
    },
    "discoveredBy": {
      "type": "integer",
      "description": "The user ID of the user who discovered or ingested the service."
    },
    "lastSyncedAt": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time of the most recent service sync."
    },
    "managedWorkspaceId": {
      "type": [
        "string",
        "null"
      ],
      "description": "The ID of the Postman workspace that the service has been integrated into. Returns a null value if the service is not integrated."
    },
    "integratedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "The date and time at which the service was linked to a Postman workspace. Returns a null value if the service is not integrated."
    }
  },
  "$defs": {
    "apiCatalogDiscoveryServiceEndpointsData": {
      "type": "object",
      "properties": {
        "method": {
          "type": "string",
          "description": "The endpoint's HTTP method."
        },
        "path": {
          "type": "string",
          "description": "The endpoint's URL path."
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "The endpoint's description."
        },
        "host": {
          "type": "string",
          "description": "The endpoint's host."
        }
      },
      "description": "Information about a service's endpoint.",
      "title": "apiCatalogDiscoveryServiceEndpointsData"
    },
    "apiCatalogDiscoveryServicesProviderMetadata": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "description": "The provider's service display title."
        },
        "environmentId": {
          "type": "string",
          "description": "The provider's environment ID."
        },
        "environmentVersion": {
          "type": "string",
          "description": "The provider's environment version."
        },
        "openApiSpecCanBeDownloaded": {
          "type": "boolean",
          "description": "If true, the provider has enabled downloading of the OpenAPI specification."
        }
      },
      "description": "Additional metadata from the discovery source provider.",
      "title": "apiCatalogDiscoveryServicesProviderMetadata"
    },
    "apiCatalogDiscoveryServicesTagsData": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "A list of tags associated with the service.",
      "title": "apiCatalogDiscoveryServicesTagsData"
    },
    "getApiCatalogDiscoveryServiceApiDefinitionData": {
      "type": "object",
      "properties": {
        "format": {
          "type": "string",
          "description": "The definition's format."
        },
        "formatVersion": {
          "type": "string",
          "description": "The API definition format's version."
        },
        "contentHash": {
          "type": "string",
          "description": "A SHA-256 hash of the API definition content for change detection."
        },
        "content": {
          "type": "string",
          "description": "A Base64-encoded API definition."
        }
      },
      "description": "The API definition associated with the service.",
      "title": "getApiCatalogDiscoveryServiceApiDefinitionData"
    }
  }
}