API SintéticosAsyncBulkCreate

  • Versão de lançamento: Australia
  • Atualizado 20 de abr. de 2026
  • 14 min. de leitura
  • . SínteticsAssyncBulkCriar A API fornece endpoints para gerenciar a criação assíncrona de monitores sintéticos.

    Use esta API para criar até 5 000 monitores por solicitação. Para operações em lote menores em que a validação imediata e os resultados são necessários, ou para vincular monitores a incidentes, use o. SintéticosBulkCriar API que oferece suporte à criação de até 50 monitores por solicitação.

    Os monitores podem ser criados usando dados no formato JSON ou CSV. Para obter mais informações sobre como usar arquivos JSON ou CSV com Postman ou Terminal, consulte Guia do desenvolvedor de monitoramento sintético.

    Esta API requer Synthetic monitoring(com.snc.uib.sow_synthetics), que está disponível no ServiceNow Store. Antes de chamar esta API, pelo menos um MID Server o local deve ser configurado para monitoramento sintético. Para obter instruções, consulte Create synthetic monitoring locations. Além disso, os itens de configuração (ICs) para os endpoints que estão sendo monitorados devem existir no Configuration Management Database (CMDB).

    AsyncBulkCreate - OBTER /sn_sow_synthetics/synthetics_async_bulk_create/

    Verifica o andamento de um trabalho de criação de monitor em massa.

    Para chamar este endpoint, o usuário deve ter a função x_snc_sow_synthetics.synthetics_viewer.

    Formato de URL

    URL com controle de versão: /api/sn_sow_synthetics//synthetics_async_bulk_create/(job_id)

    URL padrão: /api/sn_sow_synthetics/synthetics_async_bulk_create/

    Parâmetros de solicitação compatíveis

    Tabela 1. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint para acessar. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: Cadeia de caracteres

    JobId ID do trabalho de criação do monitor.

    Tabela: Trabalho em massa sintético [sn_sow_synthetics_bulk_job]

    ID do trabalho

    Tipo de dados: Cadeia de caracteres

    Tabela 2. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 3. Parâmetros do corpo da solicitação
    Nome Descrição
    Nenhum(a)

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos da REST API compatíveis .

    Tabela 4. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Oferece suporte somente a application/json.
    Autorização Autenticação básica HTTP ou token do portador OAuth.
    Formato de autenticação básica:
    Authorization: Basic <base64-encoded-username:password>
    Formato OAuth:
    Authorization: Bearer <access-token>
    Tabela 5. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte REST API códigos de resposta HTTP .

    Tabela 6. Códigos de status
    Código de status Descrição
    202 Aceito. Status do trabalho recuperado com sucesso.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    403 Proibido. O usuário deve ter a função x_snc_sow_synthetics.synthetics_viewer para verificar o status do trabalho.
    404 Não encontrado. Um trabalho com o ID fornecido não foi encontrado na tabela Trabalho em massa sintético [sn_sow_synthetics_bulk_job].
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta (JSON)

    Nome Descrição
    erro O objeto retornado se a solicitação de API falhar.

    Tipo de dados: Objeto

    "error": {
       "code": "String",
       "details": {Object},
       "message": "String"
    }
    error.code Código de erro.
    Valores possíveis:
    • AUTHENTICATION_FAILED
    • AUTHORIZATION_FAILED
    • JOB_NOT_FOUND
    • INTERNAL_ERROR

    Tipo de dados: Cadeia de caracteres

    error.details Detalhes adicionais sobre o erro.

    Os elementos incluídos neste objeto variam com base no tipo de erro.

    Tipo de dados: Objeto

    mensagem.erro Mensagens de erro

    Tipo de dados: Cadeia de caracteres

    resultado Objeto que contém informações sobre o status do trabalho de criação do monitor.

    Tipo de dados: Objeto

    "result": {
       "errors": [Array],
       "job_id": "String",
       "message": "String",
       "status": "String",
       "summary": {Object}
    }
    job_id.job_id ID do trabalho de criação do monitor.

    Tabela: Trabalho em massa sintético [sn_sow_synthetics_bulk_job]

    ID do trabalho

    Tipo de dados: Cadeia de caracteres

    mensagem.resultado Mensagem sobre o status do trabalho de criação do monitor.

    Tipo de dados: Cadeia de caracteres

    status.resultado Status do trabalho de criação do monitor.
    Valores possíveis:
    • Pendente(s)
    • processando
    • concluído
    • Falha(s)

    Tipo de dados: Cadeia de caracteres

    resumo.resultado Dados de resumo atuais do trabalho de criação do monitor.

    Tipo de dados: Objeto

    "summary": {
       "created": Number,
       "failed": Number,
       "processed": Number,
       "successful": Number,
       "total": Number,
       "updated": Number
    }
    resumo.resultado.criado Número de monitores criados com sucesso.

    Tipo de dados: Número

    resumo.resultado.falha Número de monitores que não puderam ser criados ou atualizados.

    Tipo de dados: Número

    result.summary.processed Número de monitores processados pelo trabalho.

    Tipo de dados: Número

    resultado.resumo.bem-sucedido Número de monitores criados ou atualizados com sucesso.

    Tipo de dados: Número

    result.summary.total Número total de monitores incluídos no trabalho.

    Tipo de dados: Número

    resumo.resultado.atualizado Número de monitores atualizados com sucesso.

    Tipo de dados: Número

    resultado.erros Informações de erro para monitores com falha.

    Tipo de dados: Matriz

    "errors": [
       {
          "check_number": Number,
          "error_code": "String",
          "error_message": "String",
          "name": "String"      
       }
    ]
    result.errors.check_number Ordem do monitor no checksmatriz fornecida no corpo da solicitação para POST /sn_sow_synthetics/synthetics_async_bulk_create .

    Tipo de dados: Número

    error.errors.error_code Código de erro.
    Valores possíveis:
    • CREATE_FAILED
    • UPDATE_FAILED

    Tipo de dados: Cadeia de caracteres

    error.errors.error_message Mensagens de erro

    Tipo de dados: Cadeia de caracteres

    result.errors.name Nome do monitor.

    Tipo de dados: Cadeia de caracteres

    Solicitação de curl

    Este exemplo verifica o status de um trabalho de criação de monitor.

    curl "https://instance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/BCJ-1776889518281-0baf339f" \
    --request GET \
    --header "Accept:application/json" \
    --user 'username':'password'

    Corpo da resposta - processamento do trabalho.

    {
       "result": {
          "job_id": "BCJ-1776889518281-0baf339f",
          "status": "processing",
          "message": "Processing in progress: 150/500 (30%)",
          "summary": {
             "total": 500,
             "processed": 150,
             "successful": 148,
             "created": 145,
             "updated": 3,
             "failed": 2
          }
       }
    }

    Corpo da resposta - trabalho concluído com sucesso.

    {
       "result": {
          "job_id": "BCJ-1776889518281-0baf339f",
          "status": "completed",
          "message": "Job completed successfully. 497 monitors created, 3 updated, 0 failed out of 500 total.",
          "summary": {
             "total": 500,
             "processed": 500,
             "successful": 500,
             "created": 497,
             "updated": 3,
             "failed": 0
          }
       }
    }

    Corpo da resposta - trabalho concluído com erros.

    {
       "result": {
          "job_id": "BCJ-1776889518281-0baf339f",
          "status": "completed",
          "message": "Job completed. 98 monitors created, 0 updated, 2 failed out of 100 total.",
          "summary": {
             "total": 100,
             "processed": 100,
             "successful": 98,
             "created": 98,
             "updated": 0,
             "failed": 2
          },
          "errors": [
             {
                "check_number": 23,
                "name": "Invalid Monitor",
                "error_code": "CREATE_FAILED",
                "error_message": "cmdb_ci is required"
             },
             {
                "check_number": 45,
                "name": "Bad Location Monitor",
                "error_code": "CREATE_FAILED",
                "error_message": "Location not found: invalid_sys_id"
             }
          ]
       }
    }

    AsyncBulkCreate - POST /sn_sow_synthetics/synthetics_async_bulk_create

    Cria vários monitores sintéticos em uma única operação assíncrona.

    Este endpoint é compatível com a criação de até 5 000 monitores por solicitação, com um tamanho máximo de carga de 10 MB. Chamar este endpoint envia um trabalho para criar de forma assíncrona os monitores em lotes de 500. Verifique o status do trabalho chamando o endpoint OBTENHA /sn_sow_synthetics/v1/synthetics_async_bulk_create/(job_id) .

    Para chamar este endpoint, o usuário deve ter a função x_snc_sow_synthetics.synthetics_editor.

    Formato de URL

    URL com controle de versão: /api/sn_sow_synthetics//synthetics_async_bulk_create

    URL padrão: /api/sn_sow_synthetics/synthetics_async_bulk_create

    Parâmetros de solicitação compatíveis

    Tabela 7. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint para acessar. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: Cadeia de caracteres

    Tabela 8. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 9. Parâmetros do corpo da solicitação (JSON ou CSV)
    Nome Descrição
    verificações Necessário. Matriz de objetos de configuração de endpoint para os quais criar monitores. Esta matriz pode conter no máximo 5 000 objetos por solicitação de API.

    Tipo de dados: Matriz

    "checks": [
       {
          "alert_severity": Number,
          "alert_tags": {Object},
          "body": "String",
          "body_condition": {Object},
          "cmdb_ci": "String",
          "credential": "String",
          "description": "String",
          "enabled": Boolean,
          "headers": [Array],
          "interval": Number,
          "locations": [Array],
          "max_latency_ms": Number,
          "method": "String",
          "name": "String",
          "parent_service_sys_id": "String",
          "query_string": "String",
          "should_create_alert": Boolean,
          "single_api_check_sys_id": "String",
          "support_group_sys_id": "String",
          "valid_http_code": "String",
          "valid_http_code_type": "String"
       }
    ]
    verificações.alert_severity Nível de gravidade dos alertas criados para testes de monitor com falha. Use este parâmetro somente se checks.should_create_alertestá definido como verdadeiro .
    Valores válidos:
    • 1 : Crítico
    • 2 : Principal
    • 3 : Secundário
    • 4 : Aviso
    • 5 : OK

    Padrão: 1

    Tipo de dados: Número

    check.alert_tags Marcadores personalizados a serem usados para alertas criados para testes de monitor com falha. Use este parâmetro somente se checks.should_create_alertestá definido como verdadeiro .
    Os elementos contidos neste objeto variam de acordo com os marcadores usados. Por exemplo, os marcadores podem ser usados para o ambiente ou a equipe, conforme mostrado abaixo.
    //Example custom tags
    "alert_tags": {
       "environment": "production",     
       "team": "platform"     
    }

    Padrão: Objeto vazio

    Tipo de dados: Objeto

    corpo.verificações Corpo da solicitação para endpoints de POST, PUT ou PATCH. Deve ser uma cadeia de caracteres JSON ou XML válida, dependendo de Tipo de conteúdo cabeçalho. O tamanho máximo é de 10 KB.

    Padrão: Nulo

    Tipo de dados: Cadeia de caracteres

    body_condition Validação do corpo da resposta.

    Tipo de dados: Objeto

    "body_condition": {     
       "expression": "String",
       "type": "String"     
    }
    body_condition.expression A expressão para verificar o corpo da resposta. A expressão pode ser qualquer valor de cadeia de caracteres, incluindo suporte para regex, JSONPath e XPath.

    Padrão: Nulo

    Tipo de dados: Cadeia de caracteres

    tipo.body_condition.type Tipo de validação usado para avaliar o corpo da resposta checks.body_condition.expression.
    Valores válidos (diferencia maiúsculas de minúsculas):
    • igual a : Correspondência exata.
    • not_equals : Diferente de.
    • contém : Contém substring.
    • not_contains : Não contém substring.
    • regex : Correspondência de expressão regular.
    • jsonpath Correspondência de expressão JSONPath.
    • xpath : Correspondência de expressão XPath. Usado para respostas XML.

    Padrão: Nulo

    Tipo de dados: Cadeia de caracteres

    cmdb_ci Necessário. Sys_id do CMDB Item de configuração de endpoint (IC).

    Tabela: Endpoint HTTP [cmdb_ci_endpoint_http]

    Tipo de dados: Cadeia de caracteres

    credencial.verificações Sys_id da credencial para o monitor incluir na solicitação de endpoint.

    Tabela:

    Padrão: Nulo

    Tipo de dados: Cadeia de caracteres

    checks.description Descrição do monitor.

    Tipo de dados: Cadeia de caracteres

    verificações.habilitado Sinalizador que indica se o monitor começará a ser executado imediatamente após a criação.
    Valores válidos:
    • Verdadeiro: O monitor começa a ser executado imediatamente após a criação.
    • Falso: O monitor não começará a ser executado até que seja habilitado.

    Padrão: verdadeiro

    Tipo de dados: Booliano

    cabeçalhos.verificações Matriz de cabeçalhos HTTP para o monitor incluir na solicitação de endpoint.

    Tipo de dados: Matriz

    Padrão: Matriz vazia (sem cabeçalhos)

    "headers": [
       {
          "name": "String",
          "value": "String"
       }
    ]
    checks.headers.name Nome do cabeçalho HTTP, como Autorização ou Tipo de conteúdo .

    Tipo de dados: Cadeia de caracteres

    valores.cabeçalhos.cheques Valor do cabeçalho HTTP, como Token do portador ou aplicação/json .

    Tipo de dados: Cadeia de caracteres

    checks.interval Necessário. Frequência de execução do monitor em minutos.

    ServiceNow os locais hospedados são limitados a 6 testes por minuto por monitor.

    Valores válidos: 1-60

    Por exemplo, um valor de 5 define o monitor para ser executado uma vez a cada cinco minutos.

    Tipo de dados: Número

    locais.verificações Necessário. Lista de sys_ids de MID Server locais a serem usados para o monitor.

    Tabela: Local sintético [sn_sow_synthetics_location]

    Tipo de dados: Cadeia de caracteres

    verificações.max_latence_ms Tempo de resposta máximo aceitável em milissegundos. A diretriz geral é de 500 a 5000 ms, dependendo do tipo de endpoint.

    O monitor verifica esse valor durante o teste e o teste falha se o tempo de resposta exceder esse valor.

    Padrão: Nulo (sem limite de latência)

    Tipo de dados: Número

    método.verificações Necessário. Método HTTP a ser usado.
    Valores válidos (sem distinção entre maiúsculas e minúsculas):
    • DELETE
    • GET
    • HEAD
    • PATCH
    • POST
    • PUT

    Tipo de dados: Cadeia de caracteres

    checks.name Necessário. Nome de exibição do monitor.

    Tamanho máximo: 100 caracteres

    Tipo de dados: Cadeia de caracteres

    verificações.parent_service_sys_id Necessário. SYS_id do serviço de negócios compatível com este endpoint. Usado para relatórios de nível de serviço e análise de impacto.

    Tabela: Serviço de negócios [cmdb_ci_service]

    Tipo de dados: Cadeia de caracteres

    check.query_string Parâmetros de consulta para o monitor incluir na solicitação de endpoint.

    Padrão: Nulo

    Tipo de dados: Cadeia de caracteres

    cheques.should_create_alert Sinalizador que indica se o monitor criará um alerta se um teste falhar.
    Valores válidos:
    • Verdadeiro: Alertas são criados se os testes de monitoramento falharem.
    • Falso: Os alertas não serão criados se os testes do monitor falharem.

    Padrão: falso

    Tipo de dados: Booliano

    verificações.single_api_check_sys_id Sys_id do monitor para o endpoint. Use este parâmetro para atualizar um monitor existente.

    Tabela: API única [sn_sow_synthetics_check_single_api]

    Padrão: Nulo

    Tipo de dados: Cadeia de caracteres

    verificações.support_group_sys_id Necessário. Sys_id do grupo de suporte responsável por este endpoint. Usado para roteamento e atribuição de alertas.

    Tabela: Grupo [sys_user_group]

    Tipo de dados: Cadeia de caracteres

    valid_http_code Códigos de status HTTP esperados para uma resposta bem-sucedida.
    Formatos válidos:
    • Valor único, como 200 .
    • Intervalo de valores, como 200-202 .
    • Lista separada por vírgulas de valores, como "200,201,204" .

    O monitor verifica esses valores durante o teste e o teste falha se o código de status real não corresponder a um valor na lista.

    Padrão: Nulo

    Tipo de dados: Cadeia de caracteres

    verificações.valid_http_code_type Tipo de validação usado para verificar o código de status HTTP de uma resposta.
    Valores válidos (diferencia maiúsculas de minúsculas):
    • igual a : Verifica se há uma correspondência exata com checks.valid_http_code.
    • in_range : Verifica se o código de status está dentro do intervalo de valores fornecido em checks.valid_http_code.
    • Regex: Forneça uma expressão regular para verificar o código de status. Por exemplo, 2[0-9] (2) corresponde aos códigos 200-299.

    Padrão: Nulo

    Tipo de dados: Cadeia de caracteres

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos da REST API compatíveis .

    Tabela 10. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Oferece suporte somente a application/json.
    Autorização Autenticação básica HTTP ou token do portador OAuth.
    Formato de autenticação básica:
    Authorization: Basic <base64-encoded-username:password>
    Formato OAuth:
    Authorization: Bearer <access-token>
    Tipo de conteúdo Formato de dados do corpo da solicitação. Tipos compatíveis: application/jsonou text/csv.

    Padrão: application/json

    Tabela 11. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte REST API códigos de resposta HTTP .

    Tabela 12. Códigos de status
    Código de status Descrição
    202 Aceito. Um trabalho de criação de monitor em massa foi enviado.
    400 Solicitação incorreta. Falha na validação da solicitação. Verificar error.codee. error.messageno corpo da resposta para obter detalhes do erro.
    Causas comuns:
    • Carga JSON ou CSV malformada.
    • Campo obrigatório não fornecido.
    • Valor do campo fora do intervalo ou inválido.
    • IC de endpoint referenciado não encontrado na tabela Endpoint HTTP [cmdb_ci_endpoint_http].
    • Referenciado MID Server Local não encontrado na tabela Local sintético [sn_sow_synthetics_location].
    • Serviço referenciado não encontrado na tabela Serviço de negócios [cmdb_ci_service].
    • Monitor duplicado. Já existe um monitor para o endpoint.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    403 Proibido. O usuário deve ter a função x_snc_sow_synthetics.synthetics_editor para criar monitores.
    413 Carga muito grande. O corpo da solicitação excede o limite de 10 MB.
    415 Tipo de mídia não compatível. A carga deve ser formatada como JSON ou CSV.
    429 Muitas solicitações ou muitos trabalhos de criação de monitor ativos. Aguarde e tente novamente. Verificar error.codee. error.messageno corpo da resposta para obter mais informações.
    Limites de taxa:
    • 10 solicitações por minuto
    • 100 solicitações por hora
    • 1000 solicitações por dia
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta (JSON)

    Nome Descrição
    erro O objeto retornado se a solicitação de API falhar.

    Tipo de dados: Objeto

    "error": {
       "code": "String",
       "details": {Object},
       "message": "String"
    }
    error.code Código de erro.
    Valores possíveis:
    • INVALID_JSON_FORMAT
    • INVALID_CSV_FORMAT
    • MISSING_REQUIRED_FIELD
    • INVALID_FIELD_VALUE
    • CMDB_CI_NOT_FOUND
    • LOCATION_NOT_FOUND
    • SERVICE_NOT_FOUND
    • DUPLICATE_MONITOR
    • CARGA_TOO_LARGE
    • UNSUPPORTED_MEDIA_TYPE
    • RATE_LIMIT_EXCEEDED
    • CONCURRENT_JOB_LIMIT
    • AUTHENTICATION_FAILED
    • AUTHORIZATION_FAILED
    • JOB_NOT_FOUND
    • INTERNAL_ERROR

    Tipo de dados: Cadeia de caracteres

    error.details Detalhes adicionais sobre o erro.

    Os elementos incluídos neste objeto variam com base no tipo de erro.

    Tipo de dados: Objeto

    mensagem.erro Mensagens de erro

    Tipo de dados: Cadeia de caracteres

    resultado Objeto que contém informações sobre o trabalho de criação do monitor.

    Tipo de dados: Objeto

    "result": {
       "job_id": "String",
       "job_sys_id": "String",
       "message": "String",
       "status": "String",
       "status_check_url": "String"
    }
    job_id.job_id ID do trabalho de criação do monitor.

    Tabela: Trabalho em massa sintético [sn_sow_synthetics_bulk_job]

    ID do trabalho

    Tipo de dados: Cadeia de caracteres

    job_sys_id.job_id Sys_id do trabalho de criação do monitor.

    Tabela: Trabalho em massa sintético [sn_sow_synthetics_bulk_job]

    Tipo de dados: Cadeia de caracteres

    mensagem.resultado Mensagem sobre o status do trabalho de criação do monitor.

    Tipo de dados: Cadeia de caracteres

    status.resultado Status do trabalho de criação do monitor.

    Para uma solicitação de API bem-sucedida (código de status 202 Aceito ), o valor deste parâmetro é pendente .

    Tipo de dados: Cadeia de caracteres

    resultado.status_check_url Endpoint para acompanhar o status atual do trabalho de criação do monitor. Para obter mais informações, consulte OBTENHA /sn_sow_synthetics/v1/synthetics_async_bulk_create/(job_id) .

    Tipo de dados: Cadeia de caracteres

    Solicitação de curl

    Este exemplo envia um trabalho para criar monitores para dois endpoints de API.

    curl "https://instance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      "checks": [
        {
          "name": "Production API Health Check",
          "method": "GET",
          "description": "Monitors the main API health endpoint",
          "interval": 5,
          "cmdb_ci": "21d4073087807610f13cbbf7cebb3500",
          "enabled": true,
          "should_create_alert": true,
          "alert_severity": 1,
          "locations": [
            "0fd0279b87003210f13cbbf7cebb3552",
            "2244a48d87cc7610f13cbbf7cebb3554"
          ],
          "headers": [
            {
              "name": "Accept",
              "value": "application/json"
            }
          ],
          "query_string": null,
          "credential": "",
          "body": null,
          "parent_service_sys_id": "6731133c87c07610f13cbbf7cebb35d8",
          "support_group_sys_id": "019ad92ec7230010393d265c95c260dd",
          "alert_tags": {
            "environment": "production",
            "team": "platform"
          },
          "valid_http_code_type": "equals",
          "valid_http_code": "200",
          "max_latency_ms": 5000,
          "body_condition": {
            "type": "jsonpath",
            "expression": "$.status == 'ok'"
          }
        },
        {
          "name": "User Service POST Test",
          "method": "POST",
          "description": "Tests user creation endpoint",
          "interval": 10,
          "cmdb_ci": "21d4073087807610f13cbbf7cebb3503",
          "enabled": true,
          "should_create_alert": true,
          "alert_severity": 2,
          "locations": [
            "2244a48d87cc7610f13cbbf7cebb3554"
          ],
          "headers": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ],
          "body": "{\"test\": true}",
          "parent_service_sys_id": "6731133c87c07610f13cbbf7cebb35e1",
          "support_group_sys_id": "0762d92db72422103a858bbb4e11a928",
          "valid_http_code_type": "in_range",
          "valid_http_code": "200-201",
          "max_latency_ms": 3000
        }
      ]
    }" \
    --user 'username':'password'

    Corpo da resposta - trabalho criado com sucesso.

    {
      "result": {
        "job_id": "BCJ-1706789123456-a1b2c3d4",
        "job_sys_id": "abc123def456abc123def456",
        "status": "pending",
        "message": "Job created successfully. File uploaded. Processing will begin shortly.",
        "status_check_url": "/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/BCJ-1706789123456-a1b2c3d4"
      }
    }

    Corpo da resposta - Erro de limite de trabalho de criação do monitor simultâneo.

    {
      "error": {
        "code": "CONCURRENT_JOB_LIMIT",
        "message": "Maximum concurrent jobs exceeded. Please wait for existing jobs to complete."
      }
    }

    Corpo da resposta - erro de limite de taxa.

    {
      "error": {
        "code": "RATE_LIMIT_EXCEEDED",
        "message": "Rate limit exceeded. Please try again later.",
        "details": {
          "remaining_per_minute": 0,
          "remaining_per_hour": 5,
          "remaining_per_day": 100
        }
      }
    }