JOVPay Developers
Guias API Endpoints
⌕ /
Entrar Criar conta
Referência da API
Introdução Autenticação
Conta
GET Consultar conta JOVPay
Contas bancárias
GET Consultar catálogo de bancos GET Listar contas bancárias POST Cadastrar conta bancária GET Consultar conta bancária PUT Definir conta bancária padrão DELETE Excluir conta bancária
Clientes
GET Listar clientes GET Buscar cliente por documento POST Criar cliente GET Ver cliente PUT Atualizar cliente
Pix Automático
GET Listar autorizações POST Criar autorização GET Consultar autorização PATCH Alterar autorização DELETE Cancelar autorização GET Prévia da troca de banco POST Solicitar troca de banco GET Consultar troca de banco GET Listar cobranças POST Criar cobrança / competência GET Consultar cobrança GET Fatura em PDF DELETE Cancelar cobrança
PIX
POST Criar PIX com valor fixo GET Listar PIX GET Consultar PIX GET Pagamentos recebidos
Cobranças
POST Criar cobrança GET Listar cobranças GET Buscar cobranças GET Ver cobrança PUT Cancelar cobrança PUT Mudar vencimento
Carnê
POST Criar carnê POST Criar uma parcela específica PUT Editar uma parcela específica GET Listar carnês GET Ver carnê PUT Editar descrição do carnê POST Cancelar parcelas pendentes DELETE Apagar carnê
Despesas
GET Listar cobranças de despesas POST Cadastrar despesa GET Consultar despesa PATCH Atualizar despesa GET Listar parcelas da despesa POST Registrar pagamento POST Cancelar despesa POST Adicionar anexo GET Consultar arquivo anexo DELETE Excluir anexo
Validação de identidade
GET Listar validações de identidade POST Criar validação de identidade GET Consultar validação de identidade
Protestos
GET Listar dossiês de protesto POST Preparar dossiê de protesto GET Consultar dossiê POST Anexar documento comprobatório GET Verificar preparação do dossiê
Webhooks
HOOK Autorização Pix Automático aprovada HOOK QR Code do Pix Automático atualizado HOOK Autorização Pix Automático expirada HOOK Autorização Pix Automático cancelada HOOK Falha na autorização Pix Automático HOOK Agendamento criado HOOK Agendamento pago HOOK Agendamento vencido HOOK Agendamento cancelado HOOK Falha no agendamento HOOK Status da cobrança mudou HOOK Dados de pagamento atualizados HOOK Carnê terminou de ser gerado HOOK JOVPay Protestos · dossiê criado HOOK JOVPay Protestos · rascunho atualizado HOOK JOVPay Protestos · documento adicionado HOOK JOVPay Protestos · documentos conferidos HOOK JOVPay Protestos · conferência interna concluída
API pública JOVPay

JOVPay Developers

Integre clientes, Pix, cobranças, carnês, Pix Automático e webhooks usando uma única API. Consulte cada endpoint, entenda os campos e retornos e execute testes reais no console ao lado.

https://jovpay.com/api/v1
79 operações documentadas
REST · JSON · Bearer Token

Autenticação

As chamadas autenticadas utilizam um token privado da sua conta JOVPay. Envie o token no header Authorization com o prefixo Bearer.

Authorization: Bearer SEU_TOKEN
Segurança No console desta página, o token é mantido somente na sessão atual do navegador. Ele não é gravado em localStorage e desaparece quando a sessão da aba é encerrada.

Conta

Endpoints oficiais JOVPay para conta.

GET /account

Consultar conta JOVPay

Retorna o estado atual da conta e as taxas públicas finais aplicáveis à Company.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /account.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/account

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "company_name": "Empresa Exemplo São Paulo LTDA",
    "account_status": "approved",
    "account_active": true,
    "fees": {
        "pix": {
            "percent": 0,
            "fixed": 0.77
        },
        "bank_slip": {
            "percent": 0,
            "fixed": 1.77
        },
        "credit_card": {
            "percent": 3.19,
            "fixed": 0.3
        }
    }
}
HTTP 401 Não autenticado
{
    "message": "Token de autenticação inválido ou ausente."
}

Contas bancárias

Endpoints oficiais JOVPay para contas bancárias.

GET /account/banks

Consultar catálogo de bancos

Retorna os bancos aceitos para cadastro de conta bancária.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /account/banks.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/account/banks

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
q string opcional Busca opcional pelo código ou nome do banco. Ex.: itau.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "code": "341",
            "name": "Itaú Unibanco S.A."
        },
        {
            "code": "237",
            "name": "Banco Bradesco S.A."
        }
    ]
}
GET /account/bank-accounts

Listar contas bancárias

Lista as contas bancárias cadastradas na JOVPay. A conta padrão aparece identificada por is_default.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /account/bank-accounts.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/account/bank-accounts

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 17,
            "bank_code": "341",
            "bank_name": "Itaú Unibanco S.A.",
            "agency": "1234",
            "account": "987654",
            "digit": "3",
            "type": "corrente",
            "is_default": true,
            "created_at": "2026-10-04T09:00:00-03:00",
            "updated_at": "2026-10-04T09:00:00-03:00"
        },
        {
            "id": 18,
            "bank_code": "237",
            "bank_name": "Banco Bradesco S.A.",
            "agency": "0456",
            "account": "112233",
            "digit": "8",
            "type": "corrente",
            "is_default": false,
            "created_at": "2026-10-04T09:10:00-03:00",
            "updated_at": "2026-10-04T09:10:00-03:00"
        }
    ]
}
POST /account/bank-accounts

Cadastrar conta bancária

Cadastra uma conta bancária. A primeira conta cadastrada é definida automaticamente como padrão.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /account/bank-accounts.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/account/bank-accounts

Campos e parâmetros

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
bank_code string sim Código do banco obtido em GET /account/banks.
bank_agency string sim Agência bancária.
bank_account_number string sim Número da conta.
bank_account_digit string opcional Dígito da conta, quando aplicável.
bank_account_type string sim corrente ou poupanca.

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "bank_code": "341",
    "bank_agency": "1234",
    "bank_account_number": "987654",
    "bank_account_digit": "3",
    "bank_account_type": "corrente"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Criada
{
    "message": "Conta bancária cadastrada e definida como padrão.",
    "bank_account": {
        "id": 17,
        "bank_code": "341",
        "bank_name": "Itaú Unibanco S.A.",
        "agency": "1234",
        "account": "987654",
        "digit": "3",
        "type": "corrente",
        "is_default": true,
        "created_at": "2026-10-04T09:00:00-03:00",
        "updated_at": "2026-10-04T09:00:00-03:00"
    }
}
HTTP 422 Banco inválido
{
    "message": "Banco não encontrado no catálogo da JOVPay.",
    "errors": {
        "bank_code": [
            "Consulte GET /api/v1/account/banks antes de cadastrar a conta."
        ]
    }
}
GET /account/bank-accounts/{bankAccount}

Consultar conta bancária

Consulta uma conta bancária específica pertencente à própria Company.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /account/bank-accounts/{bankAccount}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/account/bank-accounts/{bankAccount}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
bankAccount integer sim ID JOVPay da conta bancária.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 17,
    "bank_code": "341",
    "bank_name": "Itaú Unibanco S.A.",
    "agency": "1234",
    "account": "987654",
    "digit": "3",
    "type": "corrente",
    "is_default": true,
    "created_at": "2026-10-04T09:00:00-03:00",
    "updated_at": "2026-10-04T09:00:00-03:00"
}
HTTP 404 Não encontrada
{
    "message": "Conta bancária não encontrada."
}
PUT /account/bank-accounts/{bankAccount}/default

Definir conta bancária padrão

Define a conta bancária padrão da Company usando exclusivamente o ID JOVPay.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando PUT /account/bank-accounts/{bankAccount}/default.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
PUT https://jovpay.com/api/v1/account/bank-accounts/{bankAccount}/default

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
bankAccount integer sim ID JOVPay da conta bancária.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Alterada
{
    "message": "Conta bancária definida como padrão.",
    "bank_account": {
        "id": 17,
        "bank_code": "341",
        "bank_name": "Itaú Unibanco S.A.",
        "agency": "1234",
        "account": "987654",
        "digit": "3",
        "type": "corrente",
        "is_default": true,
        "created_at": "2026-10-04T09:00:00-03:00",
        "updated_at": "2026-10-04T09:00:00-03:00"
    }
}
DELETE /account/bank-accounts/{bankAccount}

Excluir conta bancária

Remove uma conta bancária que não seja a conta padrão.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando DELETE /account/bank-accounts/{bankAccount}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
DELETE https://jovpay.com/api/v1/account/bank-accounts/{bankAccount}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
bankAccount integer sim ID JOVPay da conta bancária.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Removida
{
    "message": "Conta bancária removida.",
    "id": 18
}
HTTP 409 Conta padrão
{
    "message": "A conta bancária padrão não pode ser excluída. Defina outra conta como padrão primeiro."
}

Clientes

Endpoints oficiais JOVPay para clientes.

GET /customers

Listar clientes

Lista os clientes cadastrados, paginado.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /customers.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/customers

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
page integer opcional Página - padrão 1

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 42,
            "name": "Maria Silva",
            "document": "12345678900",
            "email": "maria@exemplo.com"
        }
    ],
    "meta": {
        "current_page": 1,
        "total": 1
    }
}
GET /customers/search

Buscar cliente por documento

Busca um cliente específico pelo CPF/CNPJ.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /customers/search.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/customers/search

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
document string sim CPF ou CNPJ, só números

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 42,
    "name": "Maria Silva",
    "document": "12345678900"
}
HTTP 404 Não encontrado
{
    "message": "Cliente não encontrado."
}
POST /customers

Criar cliente

Cadastra um novo cliente na sua conta.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /customers.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/customers

Campos e parâmetros

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
name string sim Nome completo ou razão social
document string sim CPF ou CNPJ, só números
email string opcional E-mail do cliente
phone string opcional Telefone com DDD
street string opcional Rua
number string opcional Número
neighborhood string opcional Bairro
city string opcional Cidade
state string opcional UF
zip string opcional CEP

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "name": "Maria Silva",
    "document": "12345678900",
    "email": "maria@exemplo.com",
    "phone": "11987654321",
    "street": "Avenida Paulista",
    "number": "1000",
    "neighborhood": "Bela Vista",
    "city": "São Paulo",
    "state": "SP",
    "zip": "01310930"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Criado
{
    "id": 42,
    "name": "Maria Silva",
    "document": "12345678900"
}
HTTP 422 Dados inválidos
{
    "message": "O campo document já foi utilizado."
}
GET /customers/{id}

Ver cliente

Retorna os dados de um cliente específico.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /customers/{id}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/customers/{id}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do cliente

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 42,
    "name": "Maria Silva"
}
HTTP 404 Não encontrado
{
    "message": "Cliente não encontrado."
}
PUT /customers/{id}

Atualizar cliente

Atualiza os dados de um cliente existente.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando PUT /customers/{id}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
PUT https://jovpay.com/api/v1/customers/{id}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do cliente

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
name string opcional Nome
email string opcional E-mail
phone string opcional Telefone

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "email": "novo-email@exemplo.com"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 42,
    "name": "Maria Silva",
    "email": "novo-email@exemplo.com"
}

Pix Automático

Endpoints oficiais JOVPay para pix automático.

GET /pix-automatic/authorizations

Listar autorizações

Lista as autorizações Pix Automático da conta. Os campos authorization_ready, pix_copy_and_paste, qr_code_url, qr_code_data_uri e qr_code_ready mostram a disponibilidade atual dos dados de autorização. O campo status representa o ciclo de consentimento bancário.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix-automatic/authorizations.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix-automatic/authorizations

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
page integer opcional Página da listagem.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 27,
            "customer_id": 42,
            "reference": "JOV-CONTRATO-517",
            "name": "Plano Internet 500 Mega",
            "status": "pending",
            "authorization_url": "https://jovpay.com/checkout/pa_...",
            "authorization_ready": true,
            "pix_copy_and_paste": "00020126...",
            "qr_code_url": "https://jovpay.com/checkout/pa_.../pix-automatico-qr",
            "qr_code_data_uri": "data:image/...;base64,...",
            "qr_code_ready": true,
            "schedules_count": 0
        }
    ]
}
POST /pix-automatic/authorizations

Criar autorização

Cria e prepara a autorização Pix Automático antes de concluir a resposta de sucesso. Quando o POST retorna HTTP 201, authorization_ready e qr_code_ready são true e a resposta já contém pix_copy_and_paste, qr_code_url e qr_code_data_uri. A qr_code_data_uri permite exibir o QR Code sem uma segunda requisição. O status pending significa que a autorização ainda aguarda aprovação do cliente no banco e não significa que o QR esteja indisponível. A reference funciona como chave de idempotência. Use schedule_management=api quando o seu sistema controlar cada competência.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /pix-automatic/authorizations.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/pix-automatic/authorizations

Campos e parâmetros

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
customer_id integer sim ID do cliente na JOVPay.
reference string opcional Referência única da autorização na JOVPay. Também funciona como chave de idempotência.
name string sim Nome do contrato ou assinatura.
description string sim Descrição da autorização.
start_date string sim Data inicial em AAAA-MM-DD.
end_date string opcional Data final opcional em AAAA-MM-DD.
periodicity string sim weekly, monthly, quarterly, semiannual ou annual.
retry_policy string opcional none ou 3_retries_7_days.
amount_type string sim fixed ou minimum.
amount number sim Valor fixo ou mínimo da autorização.
schedule_management string opcional automatic ou api. Use api quando o seu sistema enviar cada competência.
immediate_payment boolean opcional Se haverá pagamento imediato junto da autorização.
immediate_payment_amount number opcional Valor do pagamento imediato quando habilitado.

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "customer_id": 42,
    "reference": "JOV-CONTRATO-517",
    "name": "Plano Internet 500 Mega",
    "description": "Assinatura mensal",
    "start_date": "2026-10-05",
    "periodicity": "monthly",
    "retry_policy": "3_retries_7_days",
    "amount_type": "fixed",
    "amount": 89.9,
    "schedule_management": "api",
    "immediate_payment": false
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Autorização criada
{
    "id": 27,
    "customer_id": 42,
    "reference": "JOV-CONTRATO-517",
    "name": "Plano Internet 500 Mega",
    "description": "Assinatura mensal",
    "start_date": "2026-10-05",
    "periodicity": "monthly",
    "retry_policy": "3_retries_7_days",
    "amount_type": "fixed",
    "amount": 89.9,
    "status": "pending",
    "authorization_url": "https://jovpay.com/checkout/pa_...",
    "authorization_ready": true,
    "pix_copy_and_paste": "00020126...",
    "qr_code_url": "https://jovpay.com/checkout/pa_.../pix-automatico-qr",
    "qr_code_data_uri": "data:image/...;base64,...",
    "qr_code_ready": true,
    "schedules_count": 0
}
HTTP 200 Referência já existente
{
    "id": 27,
    "reference": "JOV-CONTRATO-517",
    "status": "pending",
    "authorization_url": "https://jovpay.com/checkout/pa_...",
    "authorization_ready": true,
    "pix_copy_and_paste": "00020126...",
    "qr_code_url": "https://jovpay.com/checkout/pa_.../pix-automatico-qr",
    "qr_code_data_uri": "data:image/...;base64,...",
    "qr_code_ready": true
}
HTTP 422 Dados inválidos
{
    "message": "customer_id não pertence a esta conta."
}
GET /pix-automatic/authorizations/{authorization}

Consultar autorização

Retorna o estado atual da autorização Pix Automático. O campo status representa o ciclo de consentimento do cliente, enquanto authorization_ready e qr_code_ready representam a disponibilidade dos dados bancários e do QR Code. Quando disponível, qr_code_data_uri pode ser exibido diretamente sem outra chamada HTTP.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix-automatic/authorizations/{authorization}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix-automatic/authorizations/{authorization}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
authorization integer sim ID da autorização JOVPay.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 27,
    "customer_id": 42,
    "reference": "JOV-CONTRATO-517",
    "status": "pending",
    "authorization_url": "https://jovpay.com/checkout/pa_...",
    "authorization_ready": true,
    "pix_copy_and_paste": "00020126...",
    "qr_code_url": "https://jovpay.com/checkout/pa_.../pix-automatico-qr",
    "qr_code_data_uri": "data:image/...;base64,...",
    "qr_code_ready": true,
    "schedules_count": 0,
    "approved_at": null
}
HTTP 404 Não encontrada
{
    "message": "Not Found"
}
PATCH /pix-automatic/authorizations/{authorization}

Alterar autorização

Altera dados permitidos da autorização. Envie somente os campos que deseja modificar.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando PATCH /pix-automatic/authorizations/{authorization}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
PATCH https://jovpay.com/api/v1/pix-automatic/authorizations/{authorization}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
authorization integer sim ID da autorização.

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
name string opcional Novo nome.
description string opcional Nova descrição.
start_date string opcional Nova data inicial.
end_date string opcional Nova data final.
periodicity string opcional weekly, monthly, quarterly, semiannual ou annual.
retry_policy string opcional none ou 3_retries_7_days.

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "description": "Assinatura mensal atualizada"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Atualizada
{
    "id": 27,
    "reference": "JOV-CONTRATO-517",
    "status": "pending"
}
DELETE /pix-automatic/authorizations/{authorization}

Cancelar autorização

Cancela a autorização. Depois do cancelamento não devem ser criadas novas competências para este contrato.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando DELETE /pix-automatic/authorizations/{authorization}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
DELETE https://jovpay.com/api/v1/pix-automatic/authorizations/{authorization}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
authorization integer sim ID da autorização.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Cancelada
{
    "id": 27,
    "reference": "JOV-CONTRATO-517",
    "status": "canceled"
}
GET /pix-automatic/authorizations/{authorization}/bank-change/preview

Prévia da troca de banco

Calcula os valores vencidos e/ou a vencer considerados na troca de banco sem iniciar a troca.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix-automatic/authorizations/{authorization}/bank-change/preview.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix-automatic/authorizations/{authorization}/bank-change/preview

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
authorization integer sim ID da autorização ativa.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Prévia calculada
{
    "authorization_id": 27,
    "reference": "JOV-CONTRATO-517",
    "settlement_until": "2026-09-30",
    "immediate_payment_amount": 179.8,
    "schedules_count": 2,
    "schedule_ids": [
        581,
        582
    ]
}
HTTP 422 Não permitido
{
    "message": "Somente uma autorização ativa pode trocar de banco."
}
POST /pix-automatic/authorizations/{authorization}/bank-change

Solicitar troca de banco

Cria imediatamente uma nova versão bancária local, mantendo o mesmo authorization_id. A preparação bancária acontece de forma assíncrona pelos workers da JOVPay. Se já existir uma troca pendente, a mesma versão é devolvida e nenhuma duplicidade é criada.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /pix-automatic/authorizations/{authorization}/bank-change.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação assíncrona A JOVPay pode aceitar a operação imediatamente e concluir o processamento internamente depois. Consulte o recurso pelos endpoints públicos para acompanhar sua evolução.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/pix-automatic/authorizations/{authorization}/bank-change

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
authorization integer sim ID da autorização ativa.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Troca recebida
{
    "id": 8,
    "authorization_id": 27,
    "authorization_reference": "JOV-CONTRATO-517",
    "sequence": 2,
    "status": "pending",
    "state": "pending",
    "is_current": false,
    "immediate_payment_amount": 179.8,
    "immediate_payment_status": "pending",
    "settlement_until": "2026-09-30",
    "authorization_url": "https://jovpay.com/checkout/pa_...?troca-banco=8",
    "pix_copy_and_paste": null,
    "qr_code_url": "https://jovpay.com/checkout/pa_.../pix-automatico-qr",
    "qr_code_ready": false
}
HTTP 200 Troca já pendente
{
    "id": 8,
    "authorization_id": 27,
    "status": "pending",
    "state": "pending",
    "is_current": false
}
GET /pix-automatic/authorizations/{authorization}/bank-change

Consultar troca de banco

Consulta a versão mais recente da troca bancária. A JOVPay cuida automaticamente do provisionamento, sincronização e ativação. O consumidor não precisa executar sincronização manual.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix-automatic/authorizations/{authorization}/bank-change.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix-automatic/authorizations/{authorization}/bank-change

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
authorization integer sim ID da autorização.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 8,
    "authorization_id": 27,
    "sequence": 2,
    "status": "pending",
    "state": "pending",
    "is_current": false,
    "authorization_url": "https://jovpay.com/checkout/pa_...?troca-banco=8",
    "pix_copy_and_paste": "00020126...",
    "qr_code_url": "https://jovpay.com/checkout/pa_.../pix-automatico-qr",
    "qr_code_ready": false
}
HTTP 404 Não encontrada
{
    "message": "Nenhuma troca de banco encontrada para esta autorização."
}
GET /pix-automatic/authorizations/{authorization}/schedules

Listar cobranças

Lista as competências/cobranças vinculadas à autorização.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix-automatic/authorizations/{authorization}/schedules.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix-automatic/authorizations/{authorization}/schedules

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
authorization integer sim ID da autorização.

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
status string opcional created, scheduled, paid, overdue, canceled ou failed.
due_date string opcional Vencimento em AAAA-MM-DD.
reference string opcional Referência da competência no seu sistema.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 582,
            "authorization_id": 27,
            "reference": "JOV-FATURA-7841",
            "amount": 100,
            "payable_amount": 90,
            "due_date": "2026-10-05",
            "description": "Mensalidade Outubro/2026",
            "status": "created",
            "retry_count": 0
        }
    ]
}
POST /pix-automatic/authorizations/{authorization}/schedules

Criar cobrança / competência

Para autorizações com schedule_management=api, cria uma competência e conclui o provisionamento primário antes de finalizar a resposta de sucesso. Cada chamada representa uma competência enviada pelo seu sistema. A reference é obrigatória e idempotente: reenviar a mesma referência não cria uma cobrança duplicada.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /pix-automatic/authorizations/{authorization}/schedules.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/pix-automatic/authorizations/{authorization}/schedules

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
authorization integer sim ID de uma autorização approved.

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
reference string sim Referência única da competência na integração JOVPay.
due_date string sim Vencimento em AAAA-MM-DD.
amount number sim Valor nominal da cobrança.
description string sim Descrição da cobrança.
punctuality_discount.enabled boolean opcional Ativa desconto por pontualidade.
punctuality_discount.type string opcional fixed ou percentage.
punctuality_discount.amount number opcional Valor fixo do desconto.
punctuality_discount.percentage number opcional Percentual do desconto, maior que 0 e menor que 100.

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "reference": "JOV-FATURA-7841",
    "due_date": "2026-10-05",
    "amount": 100,
    "description": "Mensalidade Outubro/2026",
    "punctuality_discount": {
        "enabled": true,
        "type": "fixed",
        "amount": 10
    }
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Competência criada
{
    "id": 582,
    "authorization_id": 27,
    "reference": "JOV-FATURA-7841",
    "amount": 100,
    "payable_amount": 90,
    "due_date": "2026-10-05",
    "description": "Mensalidade Outubro/2026",
    "status": "created",
    "retry_count": 0,
    "punctuality_discount": {
        "enabled": true,
        "type": "fixed",
        "amount": 10,
        "payable_amount": 90,
        "valid_until": "2026-10-04"
    },
    "paid_amount": null,
    "applied_discount_amount": 0
}
HTTP 200 Competência já existente
{
    "id": 582,
    "authorization_id": 27,
    "reference": "JOV-FATURA-7841",
    "status": "created"
}
HTTP 422 Não permitido
{
    "message": "A autorização precisa estar ativa antes de criar uma cobrança."
}
GET /pix-automatic/schedules/{schedule}

Consultar cobrança

Consulta a cobrança Pix Automático pelo ID público da JOVPay.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix-automatic/schedules/{schedule}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix-automatic/schedules/{schedule}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
schedule integer sim ID público da cobrança.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 582,
    "authorization_id": 27,
    "reference": "JOV-FATURA-7841",
    "amount": 100,
    "payable_amount": 90,
    "due_date": "2026-10-05",
    "status": "scheduled"
}
GET /pix-automatic/schedules/{schedule}/pdf

Fatura em PDF

Gera o documento PDF da cobrança utilizando a mesma autenticação Bearer da API.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix-automatic/schedules/{schedule}/pdf.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix-automatic/schedules/{schedule}/pdf

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
schedule integer sim ID público da cobrança.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 PDF
{
    "content_type": "application/pdf"
}
DELETE /pix-automatic/schedules/{schedule}

Cancelar cobrança

Cancela a cobrança/competência quando ela ainda puder ser cancelada.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando DELETE /pix-automatic/schedules/{schedule}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
DELETE https://jovpay.com/api/v1/pix-automatic/schedules/{schedule}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
schedule integer sim ID público da cobrança.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Cancelada
{
    "id": 582,
    "authorization_id": 27,
    "reference": "JOV-FATURA-7841",
    "status": "canceled"
}

PIX

Endpoints oficiais JOVPay para pix.

POST /pix/static

Criar PIX com valor fixo

Cria um PIX com valor fixo. Os campos amount e description são obrigatórios. O campo reference é opcional.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /pix/static.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/pix/static

Campos e parâmetros

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
amount number sim Valor fixo do PIX. Obrigatório. Mínimo de R$ 1,00.
description string sim Descrição do PIX. Obrigatório.
reference string opcional Referência livre para conciliação no seu sistema.

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "amount": 25.9,
    "description": "PIX do caixa",
    "reference": "LOJA-01"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Criado
{
    "id": 15,
    "type": "fixed",
    "status": "active",
    "amount": 25.9,
    "description": "PIX do caixa",
    "reference": "LOJA-01",
    "pix_code": "00020126...",
    "pix_qrcode_url": "data:image/png;base64,...",
    "payments_count": 0,
    "created_at": "2026-09-17T14:30:00.000000Z"
}
HTTP 422 Dados inválidos
{
    "message": "Os dados informados são inválidos.",
    "errors": {
        "amount": [
            "O campo amount é obrigatório."
        ],
        "description": [
            "O campo description é obrigatório."
        ]
    }
}
GET /pix/static

Listar PIX

Lista os QR PIX criados na sua conta.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix/static.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix/static

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
page integer opcional Página - padrão 1

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 15,
            "type": "fixed",
            "status": "active",
            "amount": 25.9,
            "description": "PIX do caixa",
            "reference": "LOJA-01",
            "pix_code": "00020126...",
            "payments_count": 3
        }
    ],
    "current_page": 1
}
GET /pix/static/{id}

Consultar PIX

Retorna os dados de um QR PIX específico.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix/static/{id}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix/static/{id}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do PIX

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 15,
    "type": "fixed",
    "status": "active",
    "amount": 25.9,
    "description": "PIX do caixa",
    "reference": "LOJA-01",
    "pix_code": "00020126...",
    "pix_qrcode_url": "data:image/png;base64,...",
    "payments_count": 3
}
GET /pix/static/{id}/payments

Pagamentos recebidos

Lista os pagamentos recebidos através desse QR PIX.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /pix/static/{id}/payments.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/pix/static/{id}/payments

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do PIX

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
page integer opcional Página - padrão 1

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 87,
            "external_transaction_id": "123456789",
            "reference": "LOJA-01",
            "amount": 35.9,
            "status": "paid",
            "paid_at": "2026-09-17T14:35:00.000000Z"
        }
    ],
    "current_page": 1
}

Cobranças

Endpoints oficiais JOVPay para cobranças.

POST /charges

Criar cobrança

Gera uma cobrança nova - Pix, boleto, ou os dois juntos numa fatura só. Se você foi indicado por um parceiro JOV Pay, pode mandar o header opcional "parceiro_token" com o token dele.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /charges.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/charges

Campos e parâmetros

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
customer_id integer sim ID do cliente
amount number sim Valor da cobrança
discount_amount number opcional Desconto aplicado direto no valor
due_date string sim Vencimento (AAAA-MM-DD)
description string sim Descrição da cobrança
payment_methods array sim "pix", "bank_slip" ou os dois

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "customer_id": 42,
    "amount": 150,
    "discount_amount": 10,
    "due_date": "2026-07-20",
    "description": "Mensalidade",
    "payment_methods": [
        "pix",
        "bank_slip"
    ]
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Criada
{
    "data": [
        {
            "id": 123,
            "payment_method": "pix",
            "pix_code": "00020126...",
            "pix_qrcode_url": "data:image/png;base64,...",
            "pix_pdf_url": "https://.../jovpay/pix/123"
        },
        {
            "id": 124,
            "payment_method": "bank_slip",
            "boleto_url": "https://.../jovpay/boletos/124",
            "boleto_pdf_url": "https://.../jovpay/boletos/124",
            "boleto_barcode": "00190.00009..."
        }
    ]
}
HTTP 422 Dados inválidos
{
    "message": "O campo due_date é obrigatório."
}
GET /charges

Listar cobranças

Lista as cobranças, paginado.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /charges.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/charges

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
page integer opcional Página - padrão 1

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 123,
            "amount": 150,
            "status": "pending"
        }
    ],
    "meta": {
        "current_page": 1
    }
}
GET /charges/search

Buscar cobranças

Busca cobranças pelo documento ou telefone do cliente.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /charges/search.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/charges/search

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
document string opcional CPF/CNPJ do cliente
phone string opcional Telefone do cliente

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 123,
            "amount": 150,
            "status": "pending"
        }
    ]
}
GET /charges/{id}

Ver cobrança

Retorna os dados de uma cobrança específica.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /charges/{id}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/charges/{id}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID da cobrança

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 123,
    "amount": 150,
    "status": "pending",
    "due_date": "2026-07-20"
}
HTTP 404 Não encontrada
{
    "message": "Cobrança não encontrada."
}
PUT /charges/{id}

Cancelar cobrança

Cancela essa forma de pagamento específica pela JOVPay. Se a fatura tiver mais de um método pendente e você quiser cancelar tudo, chame esse endpoint uma vez pra cada id retornado na criação.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando PUT /charges/{id}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
PUT https://jovpay.com/api/v1/charges/{id}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID da cobrança

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
status string sim Envie "canceled"

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "status": "canceled"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 123,
    "status": "canceled"
}
PUT /charges/{id}

Mudar vencimento

Altera a data de vencimento de uma cobrança pendente.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando PUT /charges/{id}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
PUT https://jovpay.com/api/v1/charges/{id}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID da cobrança

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
due_date string sim Nova data (AAAA-MM-DD)

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "due_date": "2026-08-01"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 123,
    "due_date": "2026-08-01"
}

Carnê

Endpoints oficiais JOVPay para carnê.

POST /installment-plans

Criar carnê

Cria o carnê, sem gerar nenhuma parcela ainda (esse é o padrão - auto_generate=false). Depois, crie cada parcela na hora que quiser com o endpoint abaixo. Se preferir que a gente gere tudo sozinho em segundo plano, manda auto_generate=true.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /installment-plans.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/installment-plans

Campos e parâmetros

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
customer_id integer sim ID do cliente
description string sim Descrição do carnê
total_amount number sim Valor total, dividido entre as parcelas
discount_amount number opcional Desconto por pontualidade (R$), aplicado em cada parcela se pago até o vencimento dela
installments_count integer sim Quantidade de parcelas (2 a 60)
first_due_date string sim Vencimento da 1ª parcela (AAAA-MM-DD) - as demais vencem um mês depois, sempre
payment_methods array sim "pix", "bank_slip", "credit_card" ou combinação - vale pra todas as parcelas
charge_interest boolean opcional Cobrar multa/juros por atraso
interest_percent number opcional Juros ao mês (%)
late_payment_fine_percent number opcional Multa por atraso (%)
auto_generate boolean opcional false (padrão) cria só o carnê, sem nenhuma parcela - você cria uma por uma. true gera tudo sozinho em segundo plano

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "customer_id": 42,
    "description": "Instalação + mensalidades",
    "total_amount": 1200,
    "installments_count": 6,
    "first_due_date": "2026-08-10",
    "payment_methods": [
        "pix",
        "bank_slip"
    ],
    "charge_interest": true,
    "interest_percent": 1,
    "late_payment_fine_percent": 2
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 202 Aceito
{
    "message": "Carnê criado sem parcelas ainda - chame POST /installment-plans/{id}/installments uma vez pra cada parcela (1 a 6).",
    "data": {
        "id": 10,
        "status": "active",
        "generation_complete": false,
        "installments_count": 6
    }
}
HTTP 422 Dados inválidos
{
    "message": "Esse cliente não tem o endereço completo cadastrado - é exigido pra emitir boleto."
}
POST /installment-plans/{id}/installments

Criar uma parcela específica

Cria e já gera pela JOVPay UMA parcela específica do carnê (identificada pelo número) - pensado pra quem prefere montar o carnê chamando isso uma vez pra cada parcela (1, 2, 3...), no estilo de outras APIs bancárias, em vez de deixar tudo por conta da geração automática. Cada chamada é rápida, já que só processa uma parcela. Precisa que o carnê tenha sido criado com auto_generate=false.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /installment-plans/{id}/installments.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/installment-plans/{id}/installments

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do carnê

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
installment_number integer sim Número dessa parcela (1 até o total de parcelas do carnê)
amount number opcional Valor dessa parcela - se não informar, calcula automático dividindo o total
due_date string opcional Vencimento dessa parcela (AAAA-MM-DD) - se não informar, calcula automático a partir da 1ª parcela

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "installment_number": 1
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Criada
{
    "data": {
        "installment_plan_id": 10,
        "installment_number": 1,
        "charges": [
            {
                "payment_method": "pix",
                "generated": true,
                "pix_code": "00020126...",
                "pix_pdf_url": "https://.../jovpay/pix/456",
                "checkout_url": "https://.../jovpay/checkout/..."
            }
        ]
    }
}
HTTP 422 Dados inválidos
{
    "message": "A parcela 1 já foi criada nesse carnê."
}
PUT /installment-plans/{id}/installments/{number}

Editar uma parcela específica

Edita valor, vencimento e/ou formas de pagamento de UMA parcela. Se ela já tinha sido gerada pela JOVPay e algo mudou, a cobrança antiga é cancelada e uma nova é criada (o link de pagamento muda). Uma parcela já paga não pode ser editada.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando PUT /installment-plans/{id}/installments/{number}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
PUT https://jovpay.com/api/v1/installment-plans/{id}/installments/{number}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do carnê
number integer sim Número da parcela

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
amount number opcional Novo valor dessa parcela
due_date string opcional Novo vencimento (AAAA-MM-DD)
payment_methods array opcional Novas formas de pagamento - substitui as atuais (desmarcar cancela, marcar nova cria)

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "amount": 150,
    "due_date": "2026-09-15"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": {
        "installment_plan_id": 10,
        "installment_number": 1,
        "charges": [
            {
                "payment_method": "pix",
                "amount": 150,
                "due_date": "2026-09-15",
                "generated": true,
                "pix_code": "00020126..."
            }
        ]
    }
}
HTTP 422 Dados inválidos
{
    "message": "Essa parcela já foi paga - não dá pra editar."
}
GET /installment-plans

Listar carnês

Lista os carnês, paginado.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /installment-plans.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/installment-plans

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
page integer opcional Página - padrão 1

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 10,
            "description": "Instalação + mensalidades",
            "installments_count": 6,
            "status": "active"
        }
    ]
}
GET /installment-plans/{id}

Ver carnê

Retorna o carnê com todas as parcelas, cada uma com o Pix/boleto já gerado.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /installment-plans/{id}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/installment-plans/{id}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do carnê

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": {
        "id": 10,
        "installments": [
            {
                "installment_number": 1,
                "due_date": "2026-08-10",
                "amount": 200,
                "status": "pending",
                "charges": [
                    {
                        "payment_method": "pix",
                        "pix_code": "00020126...",
                        "pix_pdf_url": "https://.../jovpay/pix/456"
                    },
                    {
                        "payment_method": "bank_slip",
                        "boleto_url": "https://.../jovpay/boletos/457",
                        "boleto_pdf_url": "https://.../jovpay/boletos/457"
                    }
                ]
            }
        ]
    }
}
PUT /installment-plans/{id}

Editar descrição do carnê

Só a descrição pode ser editada - valor, parcelas e vencimentos já viraram cobranças reais na JOVPay. Pra mudar isso, cancele e crie um carnê novo.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando PUT /installment-plans/{id}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
PUT https://jovpay.com/api/v1/installment-plans/{id}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do carnê

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
description string opcional Nova descrição

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "description": "Novo texto"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": {
        "id": 10,
        "description": "Novo texto"
    }
}
POST /installment-plans/{id}/cancel-remaining

Cancelar parcelas pendentes

Cancela pela JOVPay e marca como canceladas todas as parcelas ainda pendentes - as já pagas continuam intactas.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /installment-plans/{id}/cancel-remaining.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/installment-plans/{id}/cancel-remaining

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do carnê

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "message": "4 parcela(s) pendente(s) cancelada(s)."
}
DELETE /installment-plans/{id}

Apagar carnê

Cancela pela JOVPay as parcelas pendentes e apaga o carnê e as cobranças dele. Não tem como desfazer.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando DELETE /installment-plans/{id}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
DELETE https://jovpay.com/api/v1/installment-plans/{id}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
id integer sim ID do carnê

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "message": "Carnê apagado - parcelas pendentes foram canceladas pela JOVPay."
}

Despesas

Endpoints oficiais JOVPay para despesas.

GET /expenses

Listar cobranças de despesas

Lista as despesas agrupadas por cobrança. As parcelas ficam dentro de installments.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /expenses.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/expenses

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
status string opcional Filtro opcional por status.
page integer opcional Página. Padrão: 1.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "status": "pending",
            "installments_count": 3,
            "paid_installments": 0,
            "installments": [
                {
                    "status": "pending",
                    "payment_method": null,
                    "attachments": []
                }
            ]
        }
    ],
    "current_page": 1
}
POST /expenses

Cadastrar despesa

Cadastra uma nova cobrança de despesa. Quando houver parcelamento, as parcelas são retornadas dentro da cobrança.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /expenses.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/expenses

Campos e parâmetros

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
Dados da despesa object sim Envie os campos de cadastro aceitos pela tela/API de despesas da sua conta. O contrato é validado pelo endpoint.

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "description": "Serviço de contabilidade - São Paulo",
    "amount": 450,
    "due_date": "2026-10-15"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Criada
{
    "status": "pending",
    "installments_count": 1,
    "paid_installments": 0,
    "installments": [
        {
            "status": "pending",
            "payment_method": null,
            "attachments": []
        }
    ]
}
HTTP 422 Dados inválidos
{
    "message": "Os dados informados são inválidos."
}
GET /expenses/{expense}

Consultar despesa

Retorna a cobrança e suas parcelas.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /expenses/{expense}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/expenses/{expense}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
expense integer sim ID da despesa.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "status": "pending",
    "installments_count": 3,
    "paid_installments": 1,
    "installments": [
        {
            "status": "paid",
            "payment_method": "pix",
            "attachments": []
        },
        {
            "status": "pending",
            "payment_method": null,
            "attachments": []
        }
    ]
}
PATCH /expenses/{expense}

Atualizar despesa

Atualiza uma despesa que ainda permite edição.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando PATCH /expenses/{expense}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
PATCH https://jovpay.com/api/v1/expenses/{expense}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
expense integer sim ID da despesa.

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "description": "Serviço de contabilidade atualizado"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Atualizada
{
    "status": "pending",
    "installments_count": 1,
    "paid_installments": 0
}
GET /expenses/{expense}/installments

Listar parcelas da despesa

Retorna as parcelas vinculadas à cobrança.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /expenses/{expense}/installments.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/expenses/{expense}/installments

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
expense integer sim ID da despesa.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "status": "pending",
            "payment_method": null,
            "attachments": []
        }
    ]
}
POST /expenses/{expense}/pay

Registrar pagamento

Registra manualmente o pagamento de uma despesa pendente. O endpoint aceita comprovante conforme as regras da API.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /expenses/{expense}/pay.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/expenses/{expense}/pay

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
expense integer sim ID da despesa/parcela.

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
payment_method string sim Método utilizado no pagamento.
payment_account_scope string sim Escopo da conta utilizada no pagamento.
attachment file opcional Comprovante quando exigido pelo tipo de pagamento.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Pagamento registrado
{
    "status": "paid",
    "payment_method": "pix",
    "payment_confirmation_source": "manual"
}
POST /expenses/{expense}/cancel

Cancelar despesa

Cancela uma despesa que ainda não esteja paga.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /expenses/{expense}/cancel.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/expenses/{expense}/cancel

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
expense integer sim ID da despesa.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Cancelada
{
    "status": "canceled"
}
HTTP 422 Não permitido
{
    "message": "Despesa paga não pode ser cancelada."
}
POST /expenses/{expense}/attachments

Adicionar anexo

Adiciona documento à despesa, como nota fiscal ou comprovante.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /expenses/{expense}/attachments.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/expenses/{expense}/attachments

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
expense integer sim ID da despesa.

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
attachment file sim Arquivo enviado em multipart/form-data.
attachment_type string opcional Tipo do documento.
replace_attachment_id integer opcional ID de anexo existente que será substituído.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Anexo criado
{
    "attachment": {
        "id": 90,
        "type": "invoice",
        "size": 184320
    }
}
GET /expenses/{expense}/attachments/{attachment}

Consultar arquivo anexo

Retorna o arquivo da despesa quando o anexo pertence à própria Company.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /expenses/{expense}/attachments/{attachment}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/expenses/{expense}/attachments/{attachment}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
expense integer sim ID da despesa.
attachment integer sim ID do anexo.
DELETE /expenses/{expense}/attachments/{attachment}

Excluir anexo

Remove um anexo pertencente à despesa.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando DELETE /expenses/{expense}/attachments/{attachment}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
DELETE https://jovpay.com/api/v1/expenses/{expense}/attachments/{attachment}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
expense integer sim ID da despesa.
attachment integer sim ID do anexo.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Removido
{
    "message": "Anexo removido."
}

Validação de identidade

Endpoints oficiais JOVPay para validação de identidade.

GET /identity-validations

Listar validações de identidade

Lista as validações de identidade da Company.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /identity-validations.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/identity-validations

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
customer_id integer opcional Filtra pelo cliente.
page integer opcional Página. Padrão: 1.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": [
        {
            "id": 51,
            "customer_id": 42,
            "validation_level": "advanced",
            "status": "approved",
            "validation_url": "https://jovpay.com/validacao/sessao/exemplo_publico_ficticio",
            "customer": {
                "id": 42,
                "name": "Mariana Oliveira",
                "document": "52998224725",
                "email": "mariana.oliveira@exemplo.com.br",
                "phone": "11987654321"
            },
            "completed_at": "2026-10-04T09:15:00-03:00",
            "created_at": "2026-10-04T09:05:00-03:00",
            "updated_at": "2026-10-04T09:15:00-03:00"
        }
    ],
    "current_page": 1
}
POST /identity-validations

Criar validação de identidade

Inicia uma validação para um cliente já cadastrado. A URL pública retornada pertence sempre à JOVPay.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /identity-validations.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/identity-validations

Campos e parâmetros

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
customer_id integer sim ID JOVPay do cliente.
validation_level string opcional basic ou advanced. Quando omitido, usa basic.

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "customer_id": 42,
    "validation_level": "advanced"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Validação criada
{
    "id": 51,
    "customer_id": 42,
    "validation_level": "advanced",
    "status": "approved",
    "validation_url": "https://jovpay.com/validacao/sessao/exemplo_publico_ficticio",
    "customer": {
        "id": 42,
        "name": "Mariana Oliveira",
        "document": "52998224725",
        "email": "mariana.oliveira@exemplo.com.br",
        "phone": "11987654321"
    },
    "completed_at": "2026-10-04T09:15:00-03:00",
    "created_at": "2026-10-04T09:05:00-03:00",
    "updated_at": "2026-10-04T09:15:00-03:00"
}
HTTP 422 Dados inválidos
{
    "message": "customer_id não pertence a esta conta."
}
GET /identity-validations/{identityValidation}

Consultar validação de identidade

Consulta o estado público da validação. Nenhum identificador ou URL do fornecedor interno é exposto.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /identity-validations/{identityValidation}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/identity-validations/{identityValidation}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
identityValidation integer sim ID JOVPay da validação.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "id": 51,
    "customer_id": 42,
    "validation_level": "advanced",
    "status": "approved",
    "validation_url": "https://jovpay.com/validacao/sessao/exemplo_publico_ficticio",
    "customer": {
        "id": 42,
        "name": "Mariana Oliveira",
        "document": "52998224725",
        "email": "mariana.oliveira@exemplo.com.br",
        "phone": "11987654321"
    },
    "completed_at": "2026-10-04T09:15:00-03:00",
    "created_at": "2026-10-04T09:05:00-03:00",
    "updated_at": "2026-10-04T09:15:00-03:00"
}
HTTP 404 Não encontrada
{
    "message": "Validação de identidade não encontrada."
}

Protestos

Endpoints oficiais JOVPay para protestos.

GET /protests

Listar dossiês de protesto

Exige habilitação prévia em Configurações de Protestos. Sem aprovação, HTTP 403 (protest_onboarding_required). Lista somente os dossiês da empresa autenticada. draft = em preparação; ready = conferência interna concluída, NÃO significa registro ou protocolo de protesto.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /protests.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/protests

Campos e parâmetros

Query params — enviados depois de ? na URL.

Campo Tipo Obrigatório Descrição
status string opcional Opcional: draft ou ready.
per_page integer opcional Opcional: 1 a 50, padrão 20.
page integer opcional Página de resultados.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Lista paginada
{
    "current_page": 1,
    "data": [
        {
            "id": 101,
            "source_type": "external_invoice",
            "external_system": "erp",
            "external_reference": "FAT-2026-101",
            "customer_id": 42,
            "status": "draft",
            "original_amount": "317.00",
            "due_date": "2026-10-05",
            "title_species": null,
            "filed_at_cartorio": null,
            "submitted_to_cartorio": false,
            "view_url": "https://jovpay.com/painel/protestos/101",
            "created_at": "2026-10-29T18:32:47-03:00"
        }
    ],
    "per_page": 20,
    "total": 1
}
HTTP 401 Não autenticado
{
    "message": "Token de API inválido ou ausente."
}
HTTP 403 Empresa não habilitada
{
    "message": "JOVPay Protestos indisponível para esta empresa. Conclua sua habilitação em Configurações de Protestos.",
    "code": "protest_onboarding_required"
}
POST /protests

Preparar dossiê de protesto

Exige habilitação prévia em Configurações de Protestos. Sem aprovação, HTTP 403 (protest_onboarding_required). Cria um rascunho interno com dados de cobrança da JOVPay, competência Pix Automático ou fatura externa. A criação NÃO transmite o título e não constitui protesto. Um novo dossiê responde 201; tentativa idempotente de repetir o mesmo retorna 200. Limite: 10 requisições por minuto.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /protests.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/protests

Campos e parâmetros

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
source_type string sim Obrigatório: charge, pix_automatic_billing ou external_invoice.
public_token string opcional Obrigatório somente para charge. Identificador da cobrança na JOVPay.
billing_id integer opcional Obrigatório somente para pix_automatic_billing.
schedule_id integer opcional Opcional em pix_automatic_billing.
external_system string opcional Obrigatório para external_invoice: nome técnico curto do sistema integrador, 2–32 caracteres (letras minúsculas, números, - e _).
external_reference string opcional Obrigatório para external_invoice; até 100 caracteres; identificador estável e idempotente da fatura.
customer_id integer opcional Obrigatório para external_invoice; cliente já cadastrado na mesma empresa JOVPay.
amount decimal opcional Obrigatório para external_invoice; valor positivo com até duas casas decimais.
due_date date opcional Obrigatório para external_invoice; YYYY-MM-DD anterior a hoje.
issued_at date opcional Opcional; YYYY-MM-DD até hoje.
description string opcional Obrigatória para external_invoice; 3 a 255 caracteres.
payment_status string opcional Obrigatório para external_invoice; único valor aceito: unpaid. Situação declarada pelo integrador e sujeita à conferência.
service_period_start date opcional Opcional; YYYY-MM-DD.
service_period_end date opcional Opcional; YYYY-MM-DD igual ou posterior ao início.

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "source_type": "external_invoice",
    "external_system": "erp",
    "external_reference": "FAT-2026-101",
    "customer_id": 42,
    "amount": 317,
    "due_date": "2026-10-05",
    "issued_at": "2026-09-05",
    "description": "Serviço contratado - competência setembro",
    "payment_status": "unpaid"
}

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Rascunho criado
{
    "data": {
        "id": 101,
        "source_type": "external_invoice",
        "external_system": "erp",
        "external_reference": "FAT-2026-101",
        "customer_id": 42,
        "status": "draft",
        "original_amount": "317.00",
        "due_date": "2026-10-05",
        "title_species": null,
        "filed_at_cartorio": null,
        "submitted_to_cartorio": false,
        "view_url": "https://jovpay.com/painel/protestos/101",
        "created_at": "2026-10-29T18:32:47-03:00"
    },
    "created": true,
    "message": "Rascunho registrado na Central. Nenhum título enviado ao cartório."
}
HTTP 200 Mesmo dossiê localizado
{
    "data": {
        "id": 101,
        "source_type": "external_invoice",
        "external_system": "erp",
        "external_reference": "FAT-2026-101",
        "customer_id": 42,
        "status": "draft",
        "original_amount": "317.00",
        "due_date": "2026-10-05",
        "title_species": null,
        "filed_at_cartorio": null,
        "submitted_to_cartorio": false,
        "view_url": "https://jovpay.com/painel/protestos/101",
        "created_at": "2026-10-29T18:32:47-03:00"
    },
    "created": false,
    "message": "Dossiê existente localizado; nenhum título enviado ao cartório."
}
HTTP 409 Conflito
{
    "message": "Referência externa já utilizada com dados divergentes."
}
HTTP 422 Validação
{
    "message": "Os dados fornecidos são inválidos."
}
HTTP 403 Empresa não habilitada
{
    "message": "JOVPay Protestos indisponível para esta empresa. Conclua sua habilitação em Configurações de Protestos.",
    "code": "protest_onboarding_required"
}
GET /protests/{protest}

Consultar dossiê

Exige habilitação prévia em Configurações de Protestos. Sem aprovação, HTTP 403 (protest_onboarding_required). Exibe um dossiê pertencente à empresa autenticada. O campo status é INTERNO e submitted_to_cartorio permanece false nesta versão.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /protests/{protest}.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/protests/{protest}

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
protest integer sim ID do dossiê na JOVPay.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 OK
{
    "data": {
        "id": 101,
        "source_type": "external_invoice",
        "external_system": "erp",
        "external_reference": "FAT-2026-101",
        "customer_id": 42,
        "status": "draft",
        "original_amount": "317.00",
        "due_date": "2026-10-05",
        "title_species": null,
        "filed_at_cartorio": null,
        "submitted_to_cartorio": false,
        "view_url": "https://jovpay.com/painel/protestos/101",
        "created_at": "2026-10-29T18:32:47-03:00"
    }
}
HTTP 404 Não encontrado
{
    "message": "Not Found"
}
HTTP 403 Empresa não habilitada
{
    "message": "JOVPay Protestos indisponível para esta empresa. Conclua sua habilitação em Configurações de Protestos.",
    "code": "protest_onboarding_required"
}
POST /protests/{protest}/documents

Anexar documento comprobatório

Exige habilitação prévia em Configurações de Protestos. Sem aprovação, HTTP 403 (protest_onboarding_required). Enviar como multipart/form-data, com os campos evidence_type e file. Aceita PDF, PNG, JPG ou JPEG, até 10 MiB; armazenamento privado com SHA-256. O dossiê deve estar em draft; reenviar o mesmo documento com o mesmo tipo é idempotente. Para fatura externa, inclua a fatura original (invoice), além dos documentos de suporte pertinentes.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando POST /protests/{protest}/documents.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação com alteração Esta operação pode criar, atualizar ou cancelar dados da conta autenticada. O console solicitará confirmação antes de executar o teste.

Endpoint

URL da API
POST https://jovpay.com/api/v1/protests/{protest}/documents

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
protest integer sim ID do dossiê na JOVPay.

Body JSON — campos enviados no corpo da requisição.

Campo Tipo Obrigatório Descrição
evidence_type string sim invoice, contract, acceptance, service_proof ou payment_history.
file file sim Arquivo PDF/PNG/JPG/JPEG até 10 MiB. Enviar no multipart, não como JSON.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 201 Documento anexado
{
    "data": {
        "id": 303,
        "evidence_type": "invoice",
        "sha256": "b1fdbbf0e91e4aabccaaabbbccddeeff00112233445566778899aabbccddeeff"
    },
    "created": true
}
HTTP 200 Arquivo já recebido
{
    "data": {
        "id": 303,
        "evidence_type": "invoice",
        "sha256": "b1fdbbf0e91e4aabccaaabbbccddeeff00112233445566778899aabbccddeeff"
    },
    "created": false
}
HTTP 409 Dossiê finalizado
{
    "message": "Este dossiê foi concluído e não aceita novos documentos."
}
HTTP 422 Arquivo inválido
{
    "message": "Arquivo ou tipo de documento inválido."
}
HTTP 403 Empresa não habilitada
{
    "message": "JOVPay Protestos indisponível para esta empresa. Conclua sua habilitação em Configurações de Protestos.",
    "code": "protest_onboarding_required"
}
GET /protests/{protest}/readiness

Verificar preparação do dossiê

Exige habilitação prévia em Configurações de Protestos. Sem aprovação, HTTP 403 (protest_onboarding_required). Consulta SOMENTE LEITURA: mostra pendências documentais e disponibilidade do serviço. Não envia títulos, não cria protocolo e não altera dados financeiros. O envio externo ainda não está disponível.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando GET /protests/{protest}/readiness.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
GET https://jovpay.com/api/v1/protests/{protest}/readiness

Campos e parâmetros

Path params — substituem os valores presentes entre chaves na URL.

Campo Tipo Obrigatório Descrição
protest integer sim ID do dossiê na JOVPay.

Retornos possíveis

Use o código HTTP para determinar o resultado da operação. O corpo abaixo mostra um exemplo do JSON retornado.

HTTP 200 Consulta concluída
{
    "data": {
        "protest_id": 101,
        "company_id": 1,
        "internal_status": "draft",
        "source_type": "external_invoice",
        "submission_status": "unavailable",
        "submitted": false,
        "can_submit": false,
        "documentary_blockers": [
            "Conclua a conferência interna do dossiê antes de iniciar qualquer apresentação."
        ],
        "service_notice": "O envio de títulos ainda não está disponível no JOVPay Protestos.",
        "source_warnings": [
            "Inadimplência informada pelo integrador externo; a JOVPay não confirmou o pagamento ou a ausência dele junto à instituição financeira."
        ],
        "evidence_count": 0,
        "next_action": "Confira os documentos e acompanhe a disponibilidade do serviço no JOVPay Protestos."
    }
}
HTTP 404 Não encontrado
{
    "message": "Not Found"
}
HTTP 403 Empresa não habilitada
{
    "message": "JOVPay Protestos indisponível para esta empresa. Conclua sua habilitação em Configurações de Protestos.",
    "code": "protest_onboarding_required"
}

Webhooks

Endpoints oficiais JOVPay para webhooks.

HOOK pix_automatic.authorization.approved

Autorização Pix Automático aprovada

Enviado quando o cliente aprova a autorização recorrente no banco.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.authorization.approved.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.authorization.approved

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.authorization.approved",
    "created_at": "2026-09-22T15:00:00-03:00",
    "data": {
        "authorization_id": 27,
        "customer_id": 42,
        "reference": "JOV-CONTRATO-517",
        "name": "Plano Internet 500 Mega",
        "status": "approved",
        "previous_status": "pending",
        "amount": 89.9,
        "periodicity": "monthly",
        "start_date": "2026-10-05",
        "approved_at": "2026-09-22T15:00:00-03:00"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK pix_automatic.authorization.qr_updated

QR Code do Pix Automático atualizado

Enviado quando um QR Code expirado é regenerado. Ao receber este evento, substitua o código Pix anterior pelo novo pix_code enviado pela JOVPay.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.authorization.qr_updated.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.authorization.qr_updated

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.authorization.qr_updated",
    "created_at": "2026-10-03T00:59:04-03:00",
    "data": {
        "authorization_id": 19,
        "customer_id": 4,
        "reference": "JOV-41-A001",
        "name": "JOV-41",
        "status": "pending",
        "previous_status": null,
        "amount": 167,
        "periodicity": "monthly",
        "start_date": "2026-11-05",
        "end_date": null,
        "approved_at": null,
        "authorization_url": "https://jovpay.com/pix-automatico/exemplo",
        "pix_code": "00020126...",
        "qr_generated_at": "2026-10-03T00:59:04-03:00"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK pix_automatic.authorization.expired

Autorização Pix Automático expirada

Enviado quando uma autorização recorrente expira.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.authorization.expired.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.authorization.expired

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.authorization.expired",
    "created_at": "2026-09-22T15:00:00-03:00",
    "data": {
        "authorization_id": 27,
        "customer_id": 42,
        "reference": "JOV-CONTRATO-517",
        "status": "expired"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK pix_automatic.authorization.canceled

Autorização Pix Automático cancelada

Enviado quando uma autorização recorrente é cancelada.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.authorization.canceled.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.authorization.canceled

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.authorization.canceled",
    "created_at": "2026-09-22T15:00:00-03:00",
    "data": {
        "authorization_id": 27,
        "reference": "JOV-CONTRATO-517",
        "status": "canceled"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK pix_automatic.authorization.failed

Falha na autorização Pix Automático

Enviado quando a autorização entra em falha ou é rejeitada.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.authorization.failed.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.authorization.failed

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.authorization.failed",
    "created_at": "2026-09-22T15:00:00-03:00",
    "data": {
        "authorization_id": 27,
        "reference": "JOV-CONTRATO-517",
        "status": "failed"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK pix_automatic.schedule.created

Agendamento criado

Enviado quando a JOVPay cria uma nova cobrança recorrente. Cada agendamento representa uma cobrança individual do Pix Automático.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.schedule.created.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.schedule.created

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.schedule.created",
    "created_at": "2026-10-01T08:00:00-03:00",
    "data": {
        "schedule_id": 582,
        "authorization_id": 27,
        "customer_id": 42,
        "reference": "JOV-FATURA-7841",
        "authorization_reference": "JOV-CONTRATO-517",
        "amount": 89.9,
        "due_date": "2026-10-05",
        "description": "Mensalidade Outubro/2026",
        "status": "created",
        "retry_count": 0,
        "pdf_url": "https://jovpay.com/api/v1/pix-automatic/schedules/582/pdf"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK pix_automatic.schedule.paid

Agendamento pago

Enviado quando a cobrança do Pix Automático é concluída com pagamento.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.schedule.paid.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.schedule.paid

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.schedule.paid",
    "created_at": "2026-10-05T08:32:14-03:00",
    "data": {
        "schedule_id": 582,
        "authorization_id": 27,
        "customer_id": 42,
        "reference": "JOV-FATURA-7841",
        "authorization_reference": "JOV-CONTRATO-517",
        "amount": 89.9,
        "due_date": "2026-10-05",
        "status": "paid",
        "previous_status": "scheduled",
        "retry_count": 0,
        "pdf_url": "https://jovpay.com/api/v1/pix-automatic/schedules/582/pdf"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK pix_automatic.schedule.overdue

Agendamento vencido

Enviado somente quando o ciclo de tentativas termina sem pagamento e o agendamento passa para EXPIRADA. Uma tentativa individual recusada não gera este evento.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.schedule.overdue.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.schedule.overdue

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.schedule.overdue",
    "created_at": "2026-10-12T08:00:00-03:00",
    "data": {
        "schedule_id": 582,
        "authorization_id": 27,
        "customer_id": 42,
        "reference": "JOV-FATURA-7841",
        "amount": 89.9,
        "due_date": "2026-10-05",
        "status": "overdue",
        "previous_status": "scheduled",
        "retry_count": 3,
        "pdf_url": "https://jovpay.com/api/v1/pix-automatic/schedules/582/pdf"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK pix_automatic.schedule.canceled

Agendamento cancelado

Enviado quando uma cobrança agendada é cancelada.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.schedule.canceled.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.schedule.canceled

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.schedule.canceled",
    "created_at": "2026-10-02T10:00:00-03:00",
    "data": {
        "schedule_id": 582,
        "authorization_id": 27,
        "reference": "JOV-FATURA-7841",
        "status": "canceled"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK pix_automatic.schedule.failed

Falha no agendamento

Enviado quando uma cobrança entra em falha técnica ou é rejeitada.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK pix_automatic.schedule.failed.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1pix_automatic.schedule.failed

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "pix_automatic.schedule.failed",
    "created_at": "2026-10-05T08:00:00-03:00",
    "data": {
        "schedule_id": 582,
        "authorization_id": 27,
        "reference": "JOV-FATURA-7841",
        "status": "failed"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK charge.status_changed

Status da cobrança mudou

Enviado pro seu endpoint configurado sempre que uma cobrança muda de status (ex: foi paga).

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK charge.status_changed.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1charge.status_changed

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "charge.status_changed",
    "created_at": "2026-07-11T12:00:00-03:00",
    "data": {
        "charge_id": 123,
        "public_token": "...",
        "status": "paid"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK charge.invoice_atualized

Dados de pagamento atualizados

Enviado quando o Pix/boleto de uma fatura é atualizado (o link de pagamento continua o mesmo).

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK charge.invoice_atualized.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1charge.invoice_atualized

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "charge.invoice_atualized",
    "created_at": "2026-07-11T12:00:00-03:00",
    "data": {
        "charge_id": 123,
        "public_token": "...",
        "payment_method": "pix",
        "pix_code": "00020126..."
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK installment_plan.completed

Carnê terminou de ser gerado

Enviado quando todas as parcelas de um carnê terminarem de ser processadas pela JOVPay (com sucesso ou erro) - assim você não precisa ficar consultando GET /installment-plans/{id} repetidamente.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK installment_plan.completed.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1installment_plan.completed

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event": "installment_plan.completed",
    "created_at": "2026-07-11T12:00:00-03:00",
    "data": {
        "installment_plan_id": 10,
        "description": "Instalação + mensalidades",
        "installments_count": 6,
        "installments": [
            {
                "installment_number": 1,
                "due_date": "2026-08-10",
                "amount": 200,
                "charges": [
                    {
                        "payment_method": "pix",
                        "generated": true,
                        "pix_code": "00020126...",
                        "pix_pdf_url": "https://.../jovpay/pix/456",
                        "checkout_url": "https://.../jovpay/checkout/..."
                    }
                ]
            }
        ]
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK protest.created

JOVPay Protestos · dossiê criado

Emissão de um novo dossiê interno, seja via painel ou API. Uma repetição idempotente da mesma fatura não cria um segundo evento. Configure HTTPS e selecione explicitamente este evento em Integrações > Webhook. A entrega é assíncrona, pode ser repetida e usa event_id estável para deduplicação. X-JOV-Event-Id repete o mesmo identificador. O emissor registra tentativas e resultados. Webhooks de apresentação e tramitação serão publicados somente após homologação.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK protest.created.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação assíncrona A JOVPay pode aceitar a operação imediatamente e concluir o processamento internamente depois. Consulte o recurso pelos endpoints públicos para acompanhar sua evolução.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1protest.created

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event_id": "protest-1-501",
    "event": "protest.created",
    "created_at": "2026-10-29T19:15:00-03:00",
    "data": {
        "protest_id": 101,
        "company_id": 1,
        "source_type": "external_invoice",
        "external_reference": "FAT-2026-101",
        "status": "draft",
        "submitted": false,
        "occurred_at": "2026-10-29T19:14:59-03:00"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK protest.updated

JOVPay Protestos · rascunho atualizado

Atualização das informações de um dossiê ainda em rascunho. Configure HTTPS e selecione explicitamente este evento em Integrações > Webhook. A entrega é assíncrona, pode ser repetida e usa event_id estável para deduplicação. X-JOV-Event-Id repete o mesmo identificador. O emissor registra tentativas e resultados. Webhooks de apresentação e tramitação serão publicados somente após homologação.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK protest.updated.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação assíncrona A JOVPay pode aceitar a operação imediatamente e concluir o processamento internamente depois. Consulte o recurso pelos endpoints públicos para acompanhar sua evolução.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1protest.updated

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event_id": "protest-1-501",
    "event": "protest.updated",
    "created_at": "2026-10-29T19:15:00-03:00",
    "data": {
        "protest_id": 101,
        "company_id": 1,
        "source_type": "external_invoice",
        "external_reference": "FAT-2026-101",
        "status": "draft",
        "submitted": false,
        "occurred_at": "2026-10-29T19:14:59-03:00"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK protest.document_added

JOVPay Protestos · documento adicionado

Um anexo foi recebido. O webhook contém o identificador e o tipo, nunca o arquivo, documento do devedor ou dados pessoais. Configure HTTPS e selecione explicitamente este evento em Integrações > Webhook. A entrega é assíncrona, pode ser repetida e usa event_id estável para deduplicação. X-JOV-Event-Id repete o mesmo identificador. O emissor registra tentativas e resultados. Webhooks de apresentação e tramitação serão publicados somente após homologação.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK protest.document_added.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação assíncrona A JOVPay pode aceitar a operação imediatamente e concluir o processamento internamente depois. Consulte o recurso pelos endpoints públicos para acompanhar sua evolução.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1protest.document_added

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event_id": "protest-1-501",
    "event": "protest.document_added",
    "created_at": "2026-10-29T19:15:00-03:00",
    "data": {
        "protest_id": 101,
        "company_id": 1,
        "source_type": "external_invoice",
        "external_reference": "FAT-2026-101",
        "status": "draft",
        "submitted": false,
        "occurred_at": "2026-10-29T19:14:59-03:00",
        "document": {
            "id": 303,
            "type": "invoice"
        }
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK protest.documents_confirmed

JOVPay Protestos · documentos conferidos

Etapa de documentos confirmada pela empresa. Não é uma aceitação cartorária. Configure HTTPS e selecione explicitamente este evento em Integrações > Webhook. A entrega é assíncrona, pode ser repetida e usa event_id estável para deduplicação. X-JOV-Event-Id repete o mesmo identificador. O emissor registra tentativas e resultados. Webhooks de apresentação e tramitação serão publicados somente após homologação.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK protest.documents_confirmed.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação assíncrona A JOVPay pode aceitar a operação imediatamente e concluir o processamento internamente depois. Consulte o recurso pelos endpoints públicos para acompanhar sua evolução.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1protest.documents_confirmed

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event_id": "protest-1-501",
    "event": "protest.documents_confirmed",
    "created_at": "2026-10-29T19:15:00-03:00",
    "data": {
        "protest_id": 101,
        "company_id": 1,
        "source_type": "external_invoice",
        "external_reference": "FAT-2026-101",
        "status": "draft",
        "submitted": false,
        "occurred_at": "2026-10-29T19:14:59-03:00"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
HOOK protest.ready

JOVPay Protestos · conferência interna concluída

Dossiê em status ready, bloqueado para edição. Não significa enviado, apontado ou protestado. Configure HTTPS e selecione explicitamente este evento em Integrações > Webhook. A entrega é assíncrona, pode ser repetida e usa event_id estável para deduplicação. X-JOV-Event-Id repete o mesmo identificador. O emissor registra tentativas e resultados. Webhooks de apresentação e tramitação serão publicados somente após homologação.

Como funciona

A integração envia a requisição para a API JOVPay, a JOVPay valida os dados dentro da conta autenticada e devolve uma resposta JSON padronizada.

1
Prepare Informe token, parâmetros e dados necessários para esta operação.
2
Envie Faça a chamada usando HOOK protest.ready.
3
Processe Utilize o código HTTP e o JSON retornado pela JOVPay para atualizar sua integração.
Operação assíncrona A JOVPay pode aceitar a operação imediatamente e concluir o processamento internamente depois. Consulte o recurso pelos endpoints públicos para acompanhar sua evolução.

Endpoint

URL da API
HOOK https://jovpay.com/api/v1protest.ready

Exemplo de requisição

Exemplo ilustrativo de JSON aceito por este endpoint.

application/json
{
    "event_id": "protest-1-501",
    "event": "protest.ready",
    "created_at": "2026-10-29T19:15:00-03:00",
    "data": {
        "protest_id": 101,
        "company_id": 1,
        "source_type": "external_invoice",
        "external_reference": "FAT-2026-101",
        "status": "ready",
        "submitted": false,
        "occurred_at": "2026-10-29T19:14:59-03:00",
        "previous_status": "draft"
    }
}
Evento enviado pela JOVPay Webhooks são notificações de saída. Eles não são executados pelo console desta documentação.
API Explorer

Selecione um endpoint

—
Autenticação sessão atual
Path params
Query params
Body JSON
Esta operação modifica dados reais da conta vinculada ao token informado. Antes do envio, a JOVPay solicitará uma confirmação.
Código gerado

                    
Resposta do seu teste
Ainda não executado
A resposta real aparecerá aqui depois do teste.
Escolha um endpoint e clique em Testar este endpoint.