Introduction

The PNA Cobrand LATAM Pass API is the way our banking partners manage the lifecycle of benefits delivered to our LATAM Pass members who hold a cobrand card.

The end of the lifecycle occurs when an active card is cancelled or blocked, meaning when LATAM Pass benefits must no longer be delivered to the member.

Important: A status code 200 does not mean the card was successfully deactivated. The final result can be queried 24 hours after the processing was created, using the correlationId obtained in the response.

To make requests to the API, you must first obtain an access token. See the Authentication documentation for all the information.

Base Gantt chart

Access the base Gantt chart for each type of program partnership using the following links:

  1. New partnerships;
  2. Existing partnerships migrating to the PNA LATAM Pass API.

Process flow


Request

PropertyValue
MethodDELETE
Path/v1/customer/loyalty/partner/cobranded

Headers

NameValueDescriptionTypeRequired
x-issue-bank<bank code>Identification of the card-issuing bankStringYes
client_id<your_client_id>Value obtained from the Dev Tools > My Apps > Client ID menuStringYes
access_token<access_token>Access token obtained during authenticationStringYes
x-latam-testLatamPassFor use in the sandbox environment only. Must not be sent in productionStringNo

Body

CobrandedLifeCycleDeleteRequest

FieldTypeDescriptionRequired
memberobject (MemberSimplified)LATAM Pass member informationYes
cardobject (Card)Non-confidential card dataYes

MemberSimplified

FieldTypeDescriptionRequired
ffnstringLATAM Pass member number. Ex.: 68245775886Yes

Card

Fields marked with (*) may or may not be required depending on the configuration of the card-issuing bank.

FieldTypeDescriptionRequired
brandstring (enum)Card brand: AMEX, MASTERCARD, VISA(*)
categorystringCard category, provided by the LATAM Pass commercial focal pointYes
lastFourinteger (int32)Last 4 digits of the card. Ex.: 1234(*)
approvedAtstring (date-time)Submission approval date. Ex.: 2026-06-15T22:49:47.035Z(*)
tierinteger (int32)Card category level. Ex.: 1(*)

Request example

May vary depending on the issuing bank's configuration

{
  "member": {
    "ffn": "68245775886"
  },
  "card": {
    "brand": "VISA",
    "category": "PLATINUM",
    "lastFour": 1234,
    "approvedAt": "2026-06-15T22:49:47.035Z"
  }
}

Response

200 — Request received

A 200 code indicates that the request was received and processing was created. It does not guarantee that the card has been deactivated. The final result must be queried with the correlationId through the status query endpoint.

CobrandedLifeCycleDeleteResponse

FieldTypeDescriptionRequired
memberobject (MemberSimplified)Member informationYes
traceobject (Trace)Processing traceability informationYes

MemberSimplified

FieldTypeDescriptionRequired
ffnstringMember numberYes

Trace

FieldTypeDescriptionRequired
correlationIdstringCorrelation identifier between LATAM eFFP API resourcesYes
threadIdstringIdentifier of the thread that executed the complete flowYes
receivedDateTimestringDate and time the request was receivedYes
returnedDateTimestringDate and time the response was returnedYes
{
  "member": {
    "ffn": "68245775886"
  },
  "trace": {
    "correlationId": "96bd0750-71e0-4ed6-9489-96ddfd0e34cd",
    "threadId": "c0fead84-234d-4fb2-a865-b070f77ec086",
    "receivedDateTime": "2023-10-05T12:53:00Z",
    "returnedDateTime": "2023-10-05T12:53:24Z"
  }
}

Most common errors

Missing required fields or invalid values

{
  "code": 1,
  "message": "Invalid request content",
  "instructions": "Evaluate the request fields",
  "issuedDateTime": "2024-10-21T18:38:00.101662Z",
  "details": {
    "member.ffn": "must not be null",
    "card": "must not be null"
  }
}

No previously initiated lifecycle exists for the member

{
  "code": 400,
  "message": "Member not found on database",
  "instructions": "Evaluate the request fields",
  "issuedDateTime": "2024-10-01T18:40:54.112746395Z",
  "details": null
}

Request limit exceeded

{
  "code": 429,
  "message": "Current rate exceeds the maximum for internal integrations",
  "instructions": "Please, try again later",
  "issuedDateTime": "2024-10-01T00:00:00Z",
  "details": null
}

Internal server error

{
  "code": 33,
  "message": "Internal server error",
  "instructions": "Retry the request later. If the problem persists, contact LATAM Pass support with the correlationId.",
  "issuedDateTime": "2023-10-05T12:53:10Z",
  "details": {
    "correlationId": "96bd0750-71e0-4ed6-9489-96ddfd0e34cd"
  }
}

ErrorException structure

FieldTypeDescription
codeinteger (int32)LATAM eFFP API internal code
messagestringError message description
instructionsstringInstructions to resolve the error
issuedDateTimestringDate and time the error was generated
detailsmap<string, object>Key-value pair with additional error details

Technical documentation

Click here to access the complete technical specification (Swagger).