---
updatedAt: 2026-04-21T09:29:18.000Z
agentTools:
  projectIndex: https://partner.getpliant.com/llms.txt
---

# Invite Cardholder

Invite a new [cardholder](/docs/cardholder-entity) to Pliant. An invite email to the provided email address will be triggered, and the [cardholder](/docs/cardholder-entity) needs to register with Pliant using our registration flow. This means the [cardholder](/docs/cardholder-entity) is able to use Pliant web and mobile apps once fully registered. You will receive a callback once the [cardholder](/docs/cardholder-entity) is fully registered and can be used.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "contact": {
      "name": "API Support",
      "email": "support@getpliant.com",
      "url": "https://www.getpliant.com"
    },
    "title": "Pliant Partner API",
    "description": "Pliant Partner API",
    "version": "2.1.0",
    "license": {
      "name": "MIT",
      "url": "https://opensource.org/license/MIT"
    }
  },
  "servers": [
    {
      "url": "https://partner-api.getpliant.com/api",
      "description": "Pliant Production Server"
    },
    {
      "url": "https://sandbox.partner-api.getpliant.com/api",
      "description": "Pliant Sandbox Server"
    },
    {
      "url": "https://pci-api.getpliant.com",
      "description": "PCI Vault Production Server"
    },
    {
      "url": "https://pci-sandbox.partner-api.getpliant.com",
      "description": "PCI Vault Sandbox Server"
    }
  ],
  "x-readme": {
    "explorer-enabled": false,
    "samples-languages": [
      "curl",
      "java",
      "kotlin"
    ],
    "headers": [
      {
        "key": "Pliant-API-Version",
        "value": "2.1.0"
      }
    ]
  },
  "tags": [
    {
      "name": "Cardholders",
      "description": "This tag is for operations related to cardholders"
    }
  ],
  "paths": {
    "/cardholders/invite": {
      "post": {
        "summary": "Invite Cardholder",
        "description": "Invite a new [cardholder](/docs/cardholder-entity) to Pliant. An invite email to the provided email address will be triggered, and the [cardholder](/docs/cardholder-entity) needs to register with Pliant using our registration flow. This means the [cardholder](/docs/cardholder-entity) is able to use Pliant web and mobile apps once fully registered. You will receive a callback once the [cardholder](/docs/cardholder-entity) is fully registered and can be used.",
        "tags": [
          "Cardholders"
        ],
        "operationId": "invite-cardholders",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CardholderInvite"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Cardholder is in creation process, wait for the callback to use it.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/Cardholder"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "This API uses oAuth2 with client credentials flow to [obtain the Bearer Token](/docs/authenticated-api-usage).",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "Cardholder": {
        "type": "object",
        "required": [
          "cardholderId"
        ],
        "properties": {
          "cardholderId": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the cardholder."
          }
        }
      },
      "CardholderInvite": {
        "type": "object",
        "required": [
          "organizationId",
          "firstName",
          "lastName",
          "email",
          "language",
          "isOwner"
        ],
        "properties": {
          "organizationId": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the organization."
          },
          "salutation": {
            "type": "string",
            "enum": [
              "MR",
              "MRS"
            ],
            "description": "Used mainly for email communication"
          },
          "firstName": {
            "type": "string",
            "description": "The first name of the cardholder. This will be printed on credit cards as the cardholder. It is important to note, that only the following characters are allowed for issuing cards: `A-Z`, `a-z`, `0-9`, `äöüÄÖÜ.-` The combined length of first name and last name must not exceed 24 characters. One additional character is reserved for the space inserted between them when displayed on the card (25 characters in total)."
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the cardholder. This will be printed on credit cards as the cardholder. It is important to note, that only the following characters are allowed for issuing cards: `A-Z`, `a-z`, `0-9`, `äöüÄÖÜ.-` The combined length of first name and last name must not exceed 24 characters. One additional character is reserved for the space inserted between them when displayed on the card (25 characters in total)."
          },
          "email": {
            "type": "string",
            "maxLength": 50,
            "description": "The email address of the cardholder. This will be used for email communication."
          },
          "phoneNumber": {
            "type": "string",
            "maxLength": 16,
            "pattern": "^\\+[0-9]{8,15}$",
            "description": "Phone number must start with `+` followed by 8 to 15 numbers, e.g. `+49123456789`."
          },
          "language": {
            "type": "string",
            "description": "Used for setting the language in Pliant apps as well as for email communication.",
            "enum": [
              "en",
              "de",
              "es",
              "fi",
              "fr",
              "it",
              "pt",
              "nl",
              "et",
              "el",
              "lv",
              "lt",
              "sk",
              "sl",
              "pl",
              "hu"
            ]
          },
          "isOwner": {
            "type": "boolean",
            "default": false,
            "description": "If you want to invite the first owner (during onboarding and before authorization was granted) please use the endpoint POST `/cardholders/invite-owner`."
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "The date-of-birth of the cardholder."
          },
          "nationality": {
            "type": "string",
            "nullable": true,
            "description": "The nationality of the cardholder (ISO 3166-1 alpha-2)."
          },
          "personalAddress": {
            "type": "object",
            "description": "The personal address of the cardholder.",
            "nullable": true,
            "properties": {
              "country": {
                "type": "string",
                "maxLength": 2,
                "description": "The country of the address in ISO 3166-1 alpha-2 notation.",
                "nullable": true
              },
              "state": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2,
                "pattern": "^[A-Z]{2}$",
                "description": "The US state (e.g. `CA`, `NY`). Only applicable when `country` is `US`.",
                "nullable": true
              },
              "city": {
                "type": "string",
                "maxLength": 50,
                "description": "The city of the address.",
                "nullable": true
              },
              "postalCode": {
                "type": "string",
                "maxLength": 10,
                "description": "The postal code of the address. Must match the country-specific format (e.g. 5 digits for `DE`/`FR`/`ES`, 4 digits for `AT`/`BE`). Both `postalCode` and `country` must be provided together.",
                "nullable": true
              },
              "streetName": {
                "type": "string",
                "maxLength": 50,
                "description": "The street name of the address.",
                "nullable": true
              },
              "streetNumber": {
                "type": "string",
                "maxLength": 50,
                "description": "The street number of the address.",
                "nullable": true
              },
              "additionalInformation": {
                "type": "string",
                "maxLength": 50,
                "nullable": true,
                "description": "Optional additional address information."
              }
            }
          },
          "deliveryAddress": {
            "type": "object",
            "description": "The delivery address of the cardholder.",
            "nullable": true,
            "properties": {
              "country": {
                "type": "string",
                "maxLength": 2,
                "description": "The country of the address in ISO 3166-1 alpha-2 notation.",
                "nullable": true
              },
              "state": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2,
                "pattern": "^[A-Z]{2}$",
                "description": "The US state (e.g. `CA`, `NY`). Only applicable when `country` is `US`.",
                "nullable": true
              },
              "city": {
                "type": "string",
                "maxLength": 50,
                "description": "The city of the address.",
                "nullable": true
              },
              "postalCode": {
                "type": "string",
                "maxLength": 10,
                "description": "The postal code of the address. Must match the country-specific format (e.g. 5 digits for `DE`/`FR`/`ES`, 4 digits for `AT`/`BE`). Both `postalCode` and `country` must be provided together.",
                "nullable": true
              },
              "streetName": {
                "type": "string",
                "maxLength": 50,
                "description": "The street name of the address.",
                "nullable": true
              },
              "streetNumber": {
                "type": "string",
                "maxLength": 50,
                "description": "The street number of the address.",
                "nullable": true
              },
              "additionalInformation": {
                "type": "string",
                "maxLength": 50,
                "nullable": true,
                "description": "Optional additional address information."
              }
            }
          }
        }
      },
      "Error": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string",
            "description": "The error code"
          },
          "exceptionId": {
            "type": "string",
            "format": "uuid",
            "description": "The id of the exception that was thrown"
          },
          "message": {
            "type": "string",
            "description": "The cause of the error or further explanations on the error"
          }
        }
      }
    },
    "responses": {
      "400": {
        "description": "Bad Request. The API consumer sent a malformed request which could not be processed.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized. The API consumer is not authorized to access the requested resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "403": {
        "description": "Forbidden. The API consumer is not allowed to access the requested resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "404": {
        "description": "Not Found. The requested resource could not be found.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "429": {
        "description": "Too Many Requests. The API consumer has sent too many requests in a given amount of time. Please check our [API guidelines](/docs/pliant-api-guidelines#api-rate-limits).",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "description": "Detailed description of the error and breached rate limit."
                }
              }
            }
          }
        }
      },
      "500": {
        "description": "Internal Server Error. The request was not completed due to an internal error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ]
}
```