Malga Customers API

Através da API de `customers` é possível realizar a criação, edição, listagem e exclusão de dados de compradores para uso nos serviços de tokenização de cartões, cobrança por PIX, Boleto, uso em análise de motores de antifraude e recorrência. *A fim de manter maior integridade dos dados, as informações de email e documento (CPF/CNJP) são únicos para customers na sua conta Malga, não podendo existir dois compradores iguais.* ### Consulte a [tabela de tipos de paises e documentos suportados](#section/Tabela-tipos-de-paises-e-documentos-cadastro-de-Customer) para criação de customer

Operations 7

POST /v1/customers Criação de novo customer para cobrança #
GET /v1/customers Listagem de customers cadastrados #
GET /v1/customers/{id} Recuperar detalhes de customer #
DELETE /v1/customers/{id} Deletar customer pelo id #
PATCH /v1/customers/{id} Atualizar customer pelo id #
POST /v1/customers/{customer_id}/cards Adicionar cartão de crédito ao customer #
GET /v1/customers/{customer_id}/cards Listagem dos cartões do customer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/plug-customers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

plug-customers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '0.5'
  title: Documentação Malga Customers API
  description: '# Authentication


    Os serviços de API da Malga são protegidos através de chaves de acesso.'
servers:
- url: https://api.malga.io
  description: Production
security:
- X-Client-ID: []
  X-Api-Key: []
tags:
- name: Customers
  description: Através da API de `customers` é possível realizar a criação, edição, listagem e exclusão de dados de compradores para uso nos serviços de tokenização de cartões, cobrança por PIX, Boleto, uso em análise de motores de antifraude e recorrência.
paths:
  /v1/customers:
    post:
      summary: Criação de novo customer para cobrança
      operationId: createCustomer
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomerRequest'
            examples:
              CustomerRequest:
                $ref: '#/components/examples/CustomerRequest'
      responses:
        '201':
          description: Created.
      tags:
      - Customers
    get:
      summary: Listagem de customers cadastrados
      operationId: ListCustomers
      parameters:
      - in: query
        name: page
        schema:
          type: number
        required: false
        description: Número da página
      - in: query
        name: limit
        schema:
          type: number
        required: false
        description: Quantidade de itens por página
      - in: query
        name: sort
        schema:
          type: string
          enum:
          - ASC
          - DESC
        required: false
        description: Ordenação dos itens
      - in: query
        name: id
        schema:
          type: string
        required: false
        description: Identificador de um customer
      - in: query
        name: document.type
        schema:
          type: string
        required: false
        description: Tipo de documento
      - in: query
        name: document.number
        schema:
          type: string
        required: false
        description: Número do documento
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Customer'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Customers
  /v1/customers/{id}:
    get:
      summary: Recuperar detalhes de customer
      operationId: getCustomer
      parameters:
      - name: id
        required: true
        description: Id do customers que deseja recuperar
        in: path
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
              examples:
                Customer:
                  $ref: '#/components/examples/Customer'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Customers
    delete:
      operationId: deleteCustomer
      summary: Deletar customer pelo id
      parameters:
      - name: id
        required: true
        in: path
        description: Id do customers que deseja deletar
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: ''
      tags:
      - Customers
    patch:
      operationId: updateCustomer
      summary: Atualizar customer pelo id
      parameters:
      - name: id
        required: true
        in: path
        description: Id do customers que deseja alterar
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomerRequest'
      responses:
        '200':
          description: The record has been successfully updated.
      tags:
      - Customers
  /v1/customers/{customer_id}/cards:
    post:
      operationId: linkCard
      summary: Adicionar cartão de crédito ao customer
      parameters:
      - name: customer_id
        required: true
        description: Id do customers que deseja alterar
        in: path
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkCardRequest'
            examples:
              LinkCardRequest:
                $ref: '#/components/examples/LinkCardRequest'
      responses:
        '204':
          description: The card has been linked successfully.
      tags:
      - Customers
    get:
      summary: Listagem dos cartões do customer
      operationId: getCustomerCards
      parameters:
      - name: customer_id
        required: true
        in: path
        description: Id do customers que deseja alterar
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerCardList'
              examples:
                CustomerCardList:
                  $ref: '#/components/examples/CustomerCardList'
      tags:
      - Customers
components:
  schemas:
    CustomerCardList:
      properties:
        meta:
          type: object
          allOf:
          - $ref: '#/components/schemas/MetaPagination'
        items:
          type: array
          allOf:
          - $ref: '#/components/schemas/Card'
    BillingAddress:
      type: object
      properties:
        street:
          type: string
          description: Nome da rua/avenida/travessa
        streetNumber:
          type: string
          description: Número onde se localiza o endereço
        complement:
          type: string
          description: Complemento onde se localiza o endereço, caso exista
        zipCode:
          type: string
          description: Código postal CEP
        country:
          type: string
          description: País onde se localiza o endereço - Padrão ISO 3166-1 alpha-2
          default: BR
          enum:
          - AL
          - AD
          - AR
          - AT
          - AU
          - BA
          - BZ
          - BE
          - BG
          - BR
          - BY
          - CA
          - CU
          - CY
          - CZ
          - CH
          - CL
          - CN
          - CO
          - CR
          - DE
          - DK
          - DO
          - EC
          - EE
          - SV
          - GT
          - FI
          - FR
          - GB
          - GR
          - HR
          - HK
          - HU
          - IS
          - ID
          - IE
          - IN
          - IL
          - IT
          - LI
          - LT
          - LU
          - LV
          - MK
          - MC
          - MD
          - MT
          - MU
          - JP
          - KR
          - MX
          - ME
          - MY
          - NL
          - NZ
          - 'NO'
          - PY
          - PE
          - PK
          - PL
          - PT
          - RU
          - RO
          - SM
          - RS
          - SE
          - SG
          - TH
          - TW
          - TR
          - SI
          - SK
          - ES
          - UY
          - UA
          - US
          - VE
          - VN
          - ZA
        state:
          type: string
          description: Estado onde se localiza o endereço
        city:
          type: string
          description: Cidade onde se localiza o endereço
        district:
          type: string
          description: Bairro onde se localiza o endereço
    Document:
      type: object
      properties:
        type:
          type: string
          description: Tipo de documento, consultar tabela de tipos suportados
        number:
          type: string
          description: Número do documento formato conforme tipo selecionado
        country:
          type: string
          description: Pais de emissão do documento, Padrão ISO 3166-1 alpha-2, consultar tabela de tipos suportados
          default: BR
          enum:
          - AL
          - AD
          - AR
          - AT
          - AU
          - BA
          - BZ
          - BE
          - BG
          - BR
          - BY
          - CA
          - CU
          - CY
          - CZ
          - CH
          - CL
          - CN
          - CO
          - CR
          - DE
          - DK
          - DO
          - EC
          - EE
          - SV
          - GT
          - FI
          - FR
          - GB
          - GR
          - HR
          - HK
          - HU
          - IS
          - ID
          - IE
          - IN
          - IL
          - IT
          - LI
          - LT
          - LU
          - LV
          - MK
          - MC
          - MD
          - MT
          - MU
          - JP
          - KR
          - MX
          - ME
          - MY
          - NL
          - NZ
          - 'NO'
          - PY
          - PE
          - PK
          - PL
          - PT
          - RU
          - RO
          - SM
          - RS
          - SE
          - SG
          - TH
          - TW
          - TR
          - SI
          - SK
          - ES
          - UY
          - UA
          - US
          - VE
          - VN
          - ZA
      required:
      - type
      - number
    Address:
      type: object
      properties:
        street:
          type: string
          description: Nome da rua/avenida/travessa
        streetNumber:
          type: string
          description: Número onde se localiza o endereço
        complement:
          type: string
          description: Complemento onde se localiza o endereço, caso exista
        zipCode:
          type: string
          description: Codigo postal CEP
        country:
          type: string
          description: Pais onde se localiza o endereço - Padrão ISO 3166-1 alpha-2
          default: BR
          enum:
          - AL
          - AD
          - AR
          - AT
          - AU
          - BA
          - BZ
          - BE
          - BG
          - BR
          - BY
          - CA
          - CU
          - CY
          - CZ
          - CH
          - CL
          - CN
          - CO
          - CR
          - DE
          - DK
          - DO
          - EC
          - EE
          - SV
          - GT
          - FI
          - FR
          - GB
          - GR
          - HR
          - HK
          - HU
          - IS
          - ID
          - IE
          - IN
          - IL
          - IT
          - LI
          - LT
          - LU
          - LV
          - MK
          - MC
          - MD
          - MT
          - MU
          - JP
          - KR
          - MX
          - ME
          - MY
          - NL
          - NZ
          - 'NO'
          - PY
          - PE
          - PK
          - PL
          - PT
          - RU
          - RO
          - SM
          - RS
          - SE
          - SG
          - TH
          - TW
          - TR
          - SI
          - SK
          - ES
          - UY
          - UA
          - US
          - VE
          - VN
          - ZA
        state:
          type: string
          description: Estado onde se localiza o endereço
        city:
          type: string
          description: Cidade onde se localiza o endereço
        district:
          type: string
          description: Bairro onde se localiza o endereço
      required:
      - street
      - streetNumber
      - zipCode
      - country
      - state
      - city
      - district
    Customer:
      type: object
      properties:
        id:
          type: string
          description: Identificador do customer
        createdAt:
          type: string
          description: Data de criação
        clientId:
          type: string
          format: uuid
          description: Identificador do client
        name:
          type: string
          description: Nome do usuario
        email:
          type: string
          description: Email do usuario
        phoneNumber:
          type: string
          description: Telefones de contato do usuario
        document:
          allOf:
          - $ref: '#/components/schemas/Document'
        address:
          allOf:
          - $ref: '#/components/schemas/Address'
    NetworkToken:
      properties:
        id:
          type: string
          description: Identificador do token
        status:
          type: string
          description: Status atual do token
          enum:
          - failed
          - active
          - suspended
          - deleted
        type:
          type: string
          description: Tipo de token externo
          enum:
          - network_token
        providerType:
          type: string
          description: Provedor de tokenização usado
        updatedAt:
          type: string
          description: Última data de atualização do token
    ErrorResponse:
      properties:
        error:
          type: object
          allOf:
          - $ref: '#/components/schemas/ErrorItem'
    DeliveryAddress:
      type: object
      properties:
        country:
          type: string
          description: País onde se localiza o endereço - Padrão ISO 3166-1 alpha-2
          default: BR
          enum:
          - AL
          - AD
          - AR
          - AT
          - AU
          - BA
          - BZ
          - BE
          - BG
          - BR
          - BY
          - CA
          - CU
          - CY
          - CZ
          - CH
          - CL
          - CN
          - CO
          - CR
          - DE
          - DK
          - DO
          - EC
          - EE
          - SV
          - GT
          - FI
          - FR
          - GB
          - GR
          - HR
          - HK
          - HU
          - IS
          - ID
          - IE
          - IN
          - IL
          - IT
          - LI
          - LT
          - LU
          - LV
          - MK
          - MC
          - MD
          - MT
          - MU
          - JP
          - KR
          - MX
          - ME
          - MY
          - NL
          - NZ
          - 'NO'
          - PY
          - PE
          - PK
          - PL
          - PT
          - RU
          - RO
          - SM
          - RS
          - SE
          - SG
          - TH
          - TW
          - TR
          - SI
          - SK
          - ES
          - UY
          - UA
          - US
          - VE
          - VN
          - ZA
        state:
          type: string
          description: Estado onde se localiza o endereço
        city:
          type: string
          description: Cidade onde se localiza o endereço
        district:
          type: string
          description: Bairro onde se localiza o endereço
        zipCode:
          type: string
          description: Código postal CEP
        street:
          type: string
          description: Nome da rua/avenida/travessa
        streetNumber:
          type: string
          description: Número onde se localiza o endereço
        complement:
          type: string
          description: Complemento onde se localiza o endereço, caso exista
    Card:
      properties:
        id:
          type: string
          description: ID do cartão
        expirationMonth:
          type: string
          description: Data de expiração MM
        expirationYear:
          type: string
          description: Data de expiração YYYY
        brand:
          type: string
          enum:
          - American Express
          - Mastercard
          - Visa
          - Elo
          - Discover
          - JCB
          - Diners
          description: Bandeira
        cvvChecked:
          type: boolean
          description: Identifica se o CVV foi verificado
        fingerprint:
          type: string
          description: Hash de identificação única do cartão com base nos dados sensíveis
        first6digits:
          type: string
          description: Primeiros 6 digitos do cartão
        last4digits:
          type: string
          description: Últimos 4 digitos do cartão
        status:
          type: string
          enum:
          - failed
          - active
          - pending
          description: Status de validação dos dados cartões, failed (cartão inválido para uso), active (cartão válido para uso), pending (validação do cartão pendente, uso autorizado temporariamente)
        statusReason:
          type: string
          description: Contém uma string com um breve descritivo informando o motivo do status do cartão. Em alguns casos uma string vazia é retornada.
        createdAt:
          type: string
          description: Data de criação do cartão
        updatedAt:
          type: string
          description: Data de atualização do cartão
        customer:
          allOf:
          - $ref: '#/components/schemas/Customer'
        tokens:
          type: array
          items:
            $ref: '#/components/schemas/NetworkToken'
          description: Lista de tokens externos associados ao cartão
    MetaPagination:
      properties:
        itemCount:
          type: integer
          description: Quantidade de itens na página
        totalItems:
          type: integer
          description: Quantidade total de itens na consulta (esse valor é mantido em cache por 5 minutos para melhorar a performance da API)
        itemsPerPage:
          type: integer
          description: Quantidade de itens por página
        totalPages:
          type: integer
          description: Quantidade total de páginas
        currentPage:
          type: integer
          description: Página atual
    UpdateCustomerRequest:
      type: object
      properties:
        name:
          type: string
          description: Nome do usuario
        phoneNumber:
          type: string
          description: Telefone de contato do usuario
        address:
          allOf:
          - $ref: '#/components/schemas/Address'
    LinkCardRequest:
      required:
      - cardId
      properties:
        cardId:
          type: string
          description: Identificador do cartão a ser associado
    ErrorItem:
      properties:
        type:
          type: string
          enum:
          - api_error
          - bad_request
          - invalid_request_error
          - card_declined
        code:
          type: integer
          description: Código HTTP do erro (por exemplo, `422` em erros de regra de negócio).
        declinedCode:
          type: string
          description: Código de retorno da transação em caso de falha na autorização
        key:
          type: string
          description: 'Chave estável que identifica o erro de negócio (ex.: `bank_identifier_required`). Útil para tratar o erro programaticamente, independente da mensagem traduzida.'
        businessCode:
          type: string
          description: 'Chave estável de regra de negócio retornada em `422`. Permite tratar o erro programaticamente independente da mensagem traduzida. Exemplos em sessões: `pix_boleto_multiple_payments_not_allowed`, `pix_boleto_one_to_one_reactivation_blocked`, `platform_fee_exceeds_link_amount`, `session_disabled`, `multiple_payments_limit_reached`.

            '
        message:
          type: string
          description: Descrição breve do erro
        details:
          type: array
          description: Lista contendo objetos que detalham o erro de validação
    CreateCustomerRequest:
      type: object
      properties:
        name:
          type: string
          description: Nome do usuario
        email:
          type: string
          description: Email do usuario
        phoneNumber:
          type: string
          description: Telefone de contato do usuario
        document:
          allOf:
          - $ref: '#/components/schemas/Document'
        address:
          allOf:
          - $ref: '#/components/schemas/Address'
        billingAddress:
          allOf:
          - $ref: '#/components/schemas/BillingAddress'
        deliveryAddress:
          allOf:
          - $ref: '#/components/schemas/DeliveryAddress'
      required:
      - name
      - phoneNumber
      - email
      - document
  examples:
    CustomerRequest:
      value:
        name: Customer test
        email: jose2@gmail.com
        phoneNumber: 21 98889999099
        document:
          number: '97055503019'
          type: cpf
          country: BR
        address:
          country: BR
          state: Rio de Janeiro
          city: Rio de Janeiro
          district: Leblon
          zipCode: '25650011'
          street: Av Geraldo Cardoso
          streetNumber: '205'
          complement: Apto 203
        billingAddress:
          country: BR
          state: Rio de Janeiro
          city: Rio de Janeiro
          district: Leblon
          zipCode: '25650011'
          street: Av Geraldo Cardoso
          streetNumber: '205'
          complement: Apto 203
        deliveryAddress:
          country: BR
          state: Rio de Janeiro
          city: Rio de Janeiro
          district: Leblon
          zipCode: '25650011'
          street: Av Geraldo Cardoso
          streetNumber: '205'
          complement: Apto 203
    LinkCardRequest:
      value:
        cardId: 82aba896-9e37-45b6-aa90-d510c9050596
    Customer:
      value:
        id: 82aba896-9e37-45b6-aa90-d510c9050596
        clientId: cc0b1e41-2936-45c5-947f-93995ffcdc00
        createdAt: 2012-06-30 23:59:59 +0000
        name: Customer test
        email: jose2@gmail.com
        document:
          number: '97055503019'
          type: cpf
          country: BR
        phoneNumber: 21 98889999099
        address:
          country: BR
          state: Rio de Janeiro
          city: Rio de Janeiro
          district: Leblon
          zipCode: '25650011'
          street: Av Geraldo Cardoso
          streetNumber: '205'
          complement: Apto 203
    CustomerCardList:
      value:
        meta:
          itemCount: 10
          totalItems: 20
          itemsPerPage: 10
          totalPages: 5
          currentPage: 2
        items:
        - id: 148d5db0-f1c3-439f-902d-f1f268086e1d
          customerId: 82aba896-9e37-45b6-aa90-d510c9050596
          clientId: cc0b1e41-2936-45c5-947f-93995ffcdc00
          expirationMonth: '12'
          expirationYear: '2026'
          brand: Visa
          cvvChecked: true
          fingerprint: cbd4a441-c63c-4dee-ac6b-bfa7fa1df818
          first6digits: '401959'
          last4digits: '9339'
          createdAt: 2012-06-30 23:59:59 +0000
          status: active
  securitySchemes:
    X-Client-ID:
      type: apiKey
      in: header
      name: X-Client-Id
    X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key
x-tagGroups:
- name: API Key
  tags:
  - Client-token
- name: Cartões
  tags:
  - Tokens
  - Cards
- name: Pagamentos
  tags:
  - Customers
  - Charges
  - Sessions
  - Sellers
  - Vendors
  - Split
  - 3DSecure2
  - Settings
- name: Notificação e eventos
  tags:
  - Webhooks
- name: Provedores
  tags:
  - Merchants
  - Providers
- name: Gestão de pagamentos
  tags:
  - Flows
- name: Exportar Dados
  tags:
  - Reports
- name: Apêndice
  tags:
  - Tabelas de tipos