curl --request POST \
--url https://api.sandbox.z2pay.com/v1/plans/{id}/archive \
--header 'x-api-key: <api-key>'const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.z2pay.com/v1/plans/{id}/archive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/plans/{id}/archive"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text){
"id": "plan_lhutpqeq2ml3stia4vn90xars",
"code": "pro-monthly",
"name": "Pro Plan",
"description": "Pro tier with all features",
"status": "archived",
"recurrence": {
"interval": 1,
"unit": "month",
"anchor": "subscription_start",
"collectionTiming": "prepaid"
},
"trialSpec": null,
"metadata": {},
"createdAt": "2025-06-29T13:45:30.000Z",
"updatedAt": "2025-06-29T15:00:00.000Z"
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Plan not found"
}
}{
"error": "A request with this idempotency key is already being processed"
}{
"error": "Idempotency key already used with a different request body"
}Arquivar plano
Encerra o plano para novas assinaturas. É definitivo, e não afeta quem já assinou.
curl --request POST \
--url https://api.sandbox.z2pay.com/v1/plans/{id}/archive \
--header 'x-api-key: <api-key>'const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.z2pay.com/v1/plans/{id}/archive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/plans/{id}/archive"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text){
"id": "plan_lhutpqeq2ml3stia4vn90xars",
"code": "pro-monthly",
"name": "Pro Plan",
"description": "Pro tier with all features",
"status": "archived",
"recurrence": {
"interval": 1,
"unit": "month",
"anchor": "subscription_start",
"collectionTiming": "prepaid"
},
"trialSpec": null,
"metadata": {},
"createdAt": "2025-06-29T13:45:30.000Z",
"updatedAt": "2025-06-29T15:00:00.000Z"
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Plan not found"
}
}{
"error": "A request with this idempotency key is already being processed"
}{
"error": "Idempotency key already used with a different request body"
}POST /plans/:id/archive
Faz parte do recurso Planos e Preços — o conceito e os status estão
lá.
Move o plano para archived: ele deixa de aceitar novas assinaturas e passa a ser somente leitura.
A resposta é o plano já arquivado.
archived é terminal — nenhuma rota volta atrás, e o painel também
não. Para pausar as vendas de forma reversível, o caminho é deixar o plano inactive pelo painel;
a API não expõe essa transição.POST /subscriptions/{id}/cancel.code continua ocupado. Arquivar não libera o código para reúso — criar um plano novo com o
mesmo code responde 409. Use um código diferente, como um sufixo de ano ou de versão.200 com o plano já arquivado — repetir a chamada
é seguro, e não há um 409 para o caso.Exemplo
curl -X POST https://api.sandbox.z2pay.com/v1/plans/plan_lhutpqeq2ml3stia4vn90xars/archive \
-H "x-api-key: SUA_CHAVE_DE_SANDBOX"
{
"id": "plan_lhutpqeq2ml3stia4vn90xars",
"code": "pro-monthly",
"name": "Plano Pro",
"status": "archived",
"recurrence": {
"interval": 1,
"unit": "month",
"anchor": "subscription_start",
"collectionTiming": "prepaid"
},
"trialSpec": null,
"metadata": {},
"createdAt": "2026-08-10T13:45:30.000Z",
"updatedAt": "2026-08-10T14:20:05.000Z"
}
Authorizations
API Key da Credential (gerada no Backoffice)
Path Parameters
ID do plano
Response
Plano arquivado
Identificador único do registro.
Código de identificação do recurso (ex.: código do plano ou do contrato).
Nome de exibição do plano ou do componente.
Descrição do item (item do plano ou linha da fatura).
Status atual do registro (assinatura, fatura, plano ou slip de pagamento).
Cadência da cobrança: a cada quantas unidades (interval), qual unidade (unit), a âncora do ciclo e se cobra no início ou no fim. Vale para todos os itens recorrentes.
Período de teste padrão da oferta. A assinatura pode sobrescrevê-lo.
Metadados livres (pares chave-valor) para uso do integrador; não afeta o processamento.
Data e hora de criação do registro (ISO 8601).
Data e hora da última atualização do registro (ISO 8601).