openapi: 3.0.1 info: title: Pagar.me Core Anticipations Customers API description: The Pagar.me Core API (v5) is a REST API for online payments in Brazil. It processes orders and charges via credit card, PIX, and boleto; manages customers, addresses, cards, and tokens; supports recurring billing through plans, subscriptions, and invoices; and provides marketplace capabilities via recipients, split, transfers, and anticipations, with webhook event notifications. Authentication uses HTTP Basic auth with the account secret key as the username and an empty password. termsOfService: https://pagar.me/termos-de-uso/ contact: name: Pagar.me Support url: https://docs.pagar.me version: '5' servers: - url: https://api.pagar.me/core/v5 description: Pagar.me Core API v5 production security: - basicAuth: [] tags: - name: Customers description: Buyers and their addresses. paths: /customers: post: operationId: createCustomer tags: - Customers summary: Create customer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCustomerRequest' responses: '200': description: The created customer content: application/json: schema: $ref: '#/components/schemas/Customer' get: operationId: listCustomers tags: - Customers summary: List customers parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/Size' responses: '200': description: A list of customers content: application/json: schema: $ref: '#/components/schemas/CustomerList' /customers/{customer_id}: get: operationId: getCustomer tags: - Customers summary: Get customer parameters: - $ref: '#/components/parameters/CustomerId' responses: '200': description: The customer content: application/json: schema: $ref: '#/components/schemas/Customer' put: operationId: updateCustomer tags: - Customers summary: Update customer parameters: - $ref: '#/components/parameters/CustomerId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCustomerRequest' responses: '200': description: The updated customer content: application/json: schema: $ref: '#/components/schemas/Customer' /customers/{customer_id}/addresses: post: operationId: createAddress tags: - Customers summary: Create customer address parameters: - $ref: '#/components/parameters/CustomerId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Address' responses: '200': description: The created address content: application/json: schema: $ref: '#/components/schemas/Address' components: schemas: Address: type: object properties: line_1: type: string line_2: type: string zip_code: type: string city: type: string state: type: string country: type: string description: ISO 3166-1 alpha-2 country code. Customer: allOf: - $ref: '#/components/schemas/CreateCustomerRequest' - type: object properties: id: type: string created_at: type: string format: date-time Phone: type: object properties: country_code: type: string area_code: type: string number: type: string CustomerList: type: object properties: data: type: array items: $ref: '#/components/schemas/Customer' paging: $ref: '#/components/schemas/Paging' Paging: type: object properties: total: type: integer page: type: integer size: type: integer CreateCustomerRequest: type: object properties: name: type: string email: type: string format: email document: type: string description: CPF or CNPJ. document_type: type: string enum: - CPF - CNPJ - PASSPORT type: type: string enum: - individual - company phones: type: object properties: home_phone: $ref: '#/components/schemas/Phone' mobile_phone: $ref: '#/components/schemas/Phone' address: $ref: '#/components/schemas/Address' parameters: Page: name: page in: query schema: type: integer default: 1 Size: name: size in: query schema: type: integer default: 10 CustomerId: name: customer_id in: path required: true schema: type: string securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic auth with the account secret key as the username and an empty password.