Papaya Global Beneficiaries API
Manage payment recipients including individuals and organizations
Manage payment recipients including individuals and organizations
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/papaya-global-beneficiaries-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Papaya Global Workforce Payments Authentication Beneficiaries API
description: 'REST API for managing global workforce payments, beneficiaries, wallets, and payment instructions across 160+ countries. Provides endpoints for creating and managing wallets, beneficiaries, payment groups, and payment instructions for international payroll and contractor payments.
'
version: 1.0.0
contact:
name: Papaya Global Support
url: https://docs.papayaglobal.com/
termsOfService: https://www.papayaglobal.com/terms-of-service/
license:
name: Proprietary
url: https://www.papayaglobal.com/terms-of-service/
servers:
- url: https://api.papayaglobal.com/api/v1
description: Production
- url: https://sandbox.papayaglobal.com/api/v1
description: Sandbox
security:
- BearerAuth: []
tags:
- name: Beneficiaries
description: Manage payment recipients including individuals and organizations
paths:
/payments/beneficiaries:
post:
operationId: createBeneficiary
summary: Create Beneficiary
description: Create a new payment beneficiary (individual or organization).
tags:
- Beneficiaries
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BeneficiaryCreateRequest'
responses:
'201':
description: Beneficiary created
content:
application/json:
schema:
$ref: '#/components/schemas/Beneficiary'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
get:
operationId: listBeneficiaries
summary: List Beneficiaries
description: Retrieve a paginated list of beneficiaries with optional filtering.
tags:
- Beneficiaries
parameters:
- name: id
in: query
schema:
type: array
items:
type: string
- name: country
in: query
schema:
type: array
items:
type: string
description: Filter by country code (ISO 3166-2)
- name: currency
in: query
schema:
type: array
items:
type: string
description: Filter by currency code (ISO 4217)
- name: skip
in: query
schema:
type: integer
default: 0
- name: take
in: query
schema:
type: integer
default: 50
responses:
'200':
description: List of beneficiaries
content:
application/json:
schema:
type: object
properties:
facets:
type: object
items:
type: array
items:
$ref: '#/components/schemas/Beneficiary'
paging:
$ref: '#/components/schemas/Paging'
'401':
$ref: '#/components/responses/Unauthorized'
/payments/beneficiaries/{id}:
get:
operationId: getBeneficiary
summary: Get Beneficiary Details
description: Retrieve detailed information about a specific beneficiary.
tags:
- Beneficiaries
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Beneficiary details
content:
application/json:
schema:
$ref: '#/components/schemas/BeneficiaryDetail'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateBeneficiary
summary: Update Beneficiary
description: Update an existing beneficiary's details.
tags:
- Beneficiaries
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BeneficiaryCreateRequest'
responses:
'200':
description: Beneficiary updated
content:
application/json:
schema:
$ref: '#/components/schemas/Beneficiary'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/payments/beneficiaries/{id}/collect:
get:
operationId: collectBeneficiaryInfo
summary: Collect Beneficiary Bank Details
description: Generate a URL for collecting bank details from a beneficiary directly.
tags:
- Beneficiaries
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: country
in: query
schema:
type: string
- name: currency
in: query
schema:
type: string
- name: entity_type
in: query
schema:
type: string
responses:
'200':
description: Collection URL generated
content:
application/json:
schema:
type: object
properties:
id:
type: string
country:
type: string
currency:
type: string
entity_type:
type: string
expires:
type: string
format: date-time
url:
type: string
format: uri
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/payments/beneficiaries/invite:
post:
operationId: inviteBeneficiary
summary: Invite Beneficiary
description: Send an invitation to a beneficiary to complete their profile.
tags:
- Beneficiaries
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BeneficiaryInviteRequest'
example:
firstName: Jane
lastName: Doe
email: jane.doe@example.com
responses:
'201':
description: Invitation sent
content:
application/json:
schema:
$ref: '#/components/schemas/BeneficiaryInviteResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/payments/beneficiaries/invite/resend:
post:
operationId: resendBeneficiaryInvite
summary: Resend Beneficiary Invitation
description: Resend an invitation to a beneficiary.
tags:
- Beneficiaries
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- beneficiaryId
properties:
beneficiaryId:
type: string
responses:
'200':
description: Invitation resent
content:
application/json:
schema:
$ref: '#/components/schemas/BeneficiaryInviteResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/payments/beneficiaries/import:
post:
operationId: importBeneficiaries
summary: Bulk Import Beneficiaries
description: Import multiple beneficiaries in bulk via an asynchronous job.
tags:
- Beneficiaries
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
update_payments:
type: boolean
signature:
type: string
items:
type: array
items:
$ref: '#/components/schemas/BeneficiaryCreateRequest'
responses:
'202':
description: Import job started
content:
application/json:
schema:
$ref: '#/components/schemas/ImportJobStatus'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/payments/beneficiaries/import/{job_id}:
get:
operationId: getBeneficiaryImportStatus
summary: Get Beneficiary Import Status
description: Check the status of a bulk beneficiary import job.
tags:
- Beneficiaries
parameters:
- name: job_id
in: path
required: true
schema:
type: string
responses:
'200':
description: Import job status
content:
application/json:
schema:
$ref: '#/components/schemas/ImportJobStatus'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/payments/beneficiaries/validate:
post:
operationId: validateBeneficiaries
summary: Validate Beneficiaries
description: Validate beneficiary data before import.
tags:
- Beneficiaries
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
entity_type:
type: string
bank_details:
type: object
entity:
type: object
responses:
'200':
description: Validation results
content:
application/json:
schema:
type: object
properties:
totals:
type: object
valid:
type: array
items:
type: object
invalid:
type: array
items:
type: object
'401':
$ref: '#/components/responses/Unauthorized'
/payments/beneficiaries/schema/{entity_type}/{country}/{currency}:
get:
operationId: getBeneficiarySchema
summary: Get Beneficiary Schema
description: Retrieve the JSON schema for beneficiary data for a specific entity type, country, and currency combination.
tags:
- Beneficiaries
parameters:
- name: entity_type
in: path
required: true
schema:
type: string
enum:
- individual
- company
- name: country
in: path
required: true
schema:
type: string
description: ISO 3166-2 country code
- name: currency
in: path
required: true
schema:
type: string
description: ISO 4217 currency code
- name: entity_country
in: query
schema:
type: string
description: Entity's country of origin if different
responses:
'200':
description: Beneficiary schema
content:
application/json:
schema:
type: object
properties:
currency:
type: string
country:
type: string
entity_type:
type: string
schema:
type: object
description: JSON Schema for the beneficiary data
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/payments/beneficiaries/bulkimport/invite:
post:
operationId: bulkInviteBeneficiaries
summary: Bulk Invite Beneficiaries
description: Send invitations to multiple beneficiaries in bulk.
tags:
- Beneficiaries
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/BeneficiaryInviteRequest'
responses:
'202':
description: Bulk invite job started
content:
application/json:
schema:
$ref: '#/components/schemas/ImportJobStatus'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
BeneficiaryInviteResponse:
type: object
properties:
invite:
type: string
format: date-time
update:
type: string
format: date-time
create:
type: string
format: date-time
name:
type: string
BeneficiaryDetail:
allOf:
- $ref: '#/components/schemas/Beneficiary'
- type: object
properties:
status:
type: string
payments:
type: array
items:
type: object
issues:
type: array
items:
type: object
Entity:
type: object
description: Entity information (person or organization)
additionalProperties: true
ImportJobStatus:
type: object
properties:
job_id:
type: string
started_at:
type: string
format: date-time
completed_at:
type: string
format: date-time
total:
type: integer
processed:
type: integer
processing:
type: integer
failed:
type: integer
status:
type: string
enum:
- pending
- processing
- completed
- failed
progress:
type: array
items:
type: object
BeneficiaryInviteRequest:
type: object
required:
- firstName
- lastName
- email
properties:
firstName:
type: string
middleName:
type: string
lastName:
type: string
email:
type: string
format: email
beneficiaryId:
type: string
payGroupId:
type: string
invoiceCurrency:
type: string
user_tags:
type: object
Beneficiary:
type: object
properties:
id:
type: string
type:
type: string
active:
type: boolean
name:
type: string
entity_type:
type: string
enum:
- individual
- company
country:
type: string
description: ISO 3166-2 country code
currency:
type: string
description: ISO 4217 currency code
entity:
$ref: '#/components/schemas/Entity'
bank_details:
$ref: '#/components/schemas/BankDetails'
user_tags:
type: object
Paging:
type: object
properties:
skip:
type: integer
take:
type: integer
Error:
type: object
properties:
error:
type: string
description:
type: string
error_code:
type: string
sub_code:
type: string
error_info:
type: object
properties:
timestamp:
type: string
format: date-time
path:
type: string
BeneficiaryCreateRequest:
type: object
required:
- entity_type
- country
- currency
- entity
- bank_details
properties:
entity_type:
type: string
enum:
- individual
- company
id:
type: string
description: Optional custom beneficiary ID
country:
type: string
description: ISO 3166-2 country code
currency:
type: string
description: ISO 4217 currency code
tags:
type: array
items:
type: string
user_tags:
type: object
entity:
$ref: '#/components/schemas/Entity'
bank_details:
$ref: '#/components/schemas/BankDetails'
BankDetails:
type: object
description: Bank details for a beneficiary (schema varies by country/currency)
additionalProperties: true
responses:
NotFound:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized - authentication failed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Bad request - missing or invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT