> ## Documentation Index
> Fetch the complete documentation index at: https://docs.endl.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create recipient

> Create a recipient under your POBO scope.

Which fields are required varies by `payoutRail` and `currency`. Ask [Get recipient required fields](/api-reference/reference/get-recipient-required-fields) on the standard Partner API first and collect exactly what it returns.

The response returns a `rec_` reference id.



## OpenAPI

````yaml api-reference/endl-pobo-api.json POST /api/v0/pobo/recipients
openapi: 3.1.0
info:
  title: Endl POBO API
  version: '0'
  description: >-
    Payment on behalf of — pay out on behalf of a named originator.


    Every POBO endpoint lives under `/api/v0/pobo` and needs an API key carrying
    the `pobo` permission. POBO is **partner-scoped**: there is no `userId` in
    any path, and every identifier you exchange is a prefixed reference id
    rather than an internal UUID.


    POBO routes through Paywho only. A Bridge-routed currency or rail is
    rejected with `400`.
servers:
  - url: https://api-sandbox.endl.io
    description: Sandbox
security:
  - apiKey: []
paths:
  /api/v0/pobo/recipients:
    post:
      tags:
        - Recipients
      summary: Create recipient
      description: >-
        Create a recipient under your POBO scope.


        Which fields are required varies by `payoutRail` and `currency`. Ask
        [Get recipient required
        fields](/api-reference/reference/get-recipient-required-fields) on the
        standard Partner API first and collect exactly what it returns.


        The response returns a `rec_` reference id.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - INDIVIDUAL
                    - BUSINESS
                  description: '`INDIVIDUAL` or `BUSINESS`.'
                firstName:
                  type: string
                  description: Given name.
                lastName:
                  type: string
                  description: Family name.
                alias:
                  type: string
                  description: Your own label for this recipient.
                email:
                  type: string
                  description: Contact email.
                phone:
                  type: string
                  description: Contact phone in E.164.
                bankName:
                  type: string
                  description: Receiving bank.
                bankAccountNumber:
                  type: string
                  description: Account number at the receiving bank.
                swiftBic:
                  type: string
                  description: SWIFT/BIC of the receiving bank.
                accountType:
                  type: string
                  description: Account type — `SAVINGS`, `CHECKING`.
                currency:
                  type: string
                  description: Destination currency, ISO 4217 — `PHP`.
                payoutRail:
                  type: string
                  description: Payout rail. POBO accepts Paywho rails only.
                relationshipToCustomer:
                  type: string
                  description: Relationship of the recipient to your customer.
                recipientAddress:
                  type: object
                  description: >-
                    Postal address. `countryThreeLetter` is the ISO 3166-1
                    alpha-3 code.
                  properties:
                    addressLine1:
                      type: string
                      description: Street address.
                    addressLine2:
                      type: string
                      description: Second address line, if any.
                    city:
                      type: string
                      description: City.
                    state:
                      type: string
                      description: State or province.
                    country:
                      type: string
                      description: Country name.
                    postalCode:
                      type: string
                      description: Postal or ZIP code.
                    countryThreeLetter:
                      type: string
                      description: ISO 3166-1 alpha-3 country code — `PHL`.
            example:
              type: INDIVIDUAL
              firstName: Juan
              lastName: Dela Cruz
              email: juan@example.com
              phone: '+639181234567'
              bankName: BDO Unibank
              bankAccountNumber: '0012345678'
              swiftBic: BNORPHMM
              accountType: SAVINGS
              currency: PHP
              payoutRail: BANK_TRANSFER
              relationshipToCustomer: FRIEND
              recipientAddress:
                addressLine1: 88 Mabini St
                city: Cebu City
                country: Philippines
                countryThreeLetter: PHL
      responses:
        '201':
          description: Recipient created. `data` carries the `rec_` reference id.
          content:
            application/json:
              example:
                code: 201
                message: Success
                status: SUCCESS
                data: {}
                errors: []
        '400':
          description: Validation failed, or the route is not supported for POBO.
          content:
            application/json:
              example:
                code: 400
                message: Rail not supported for POBO
                status: ERROR
                data: null
                errors:
                  - code: VALIDATION_ERROR
                    message: Rail not supported for POBO
                    field: null
        '401':
          description: Missing or invalid API credentials.
          content:
            application/json:
              example:
                data: null
                code: 401
                message: Authentication Failed!
                status: Error
                errors:
                  - code: '401'
                    message: Authentication Failed!
                    field: Authentication Failed!
        '403':
          description: The key does not carry the `pobo` permission. Raised at the edge.
          content:
            application/json:
              example:
                data: null
                code: 403
                message: API key does not have 'pobo' permission
                status: Error
                errors:
                  - code: '403'
                    message: API key does not have 'pobo' permission
                    field: API key does not have 'pobo' permission
        '409':
          description: The request conflicts with existing state.
          content:
            application/json:
              example:
                code: 409
                message: >-
                  A sender with this governmentId already exists for this
                  partner
                status: ERROR
                data: null
                errors:
                  - code: CONFLICT
                    message: >-
                      A sender with this governmentId already exists for this
                      partner
                    field: null
        '429':
          description: The per-API-key request rate limit was exceeded.
          content:
            application/json:
              example:
                data: null
                code: 429
                message: Rate limit exceeded, please retry later
                status: Error
                errors:
                  - code: '429'
                    message: Rate limit exceeded, please retry later
                    field: Rate limit exceeded, please retry later
        '500':
          description: Unexpected server error.
          content:
            application/json:
              example:
                code: 500
                message: Unexpected error
                status: ERROR
                data: null
                errors:
                  - code: INTERNAL_ERROR
                    message: Unexpected error
                    field: null
        '502':
          description: >-
            Endl could not reach the service behind the edge. Retry with
            backoff.
          content:
            application/json:
              example:
                data: null
                code: 502
                message: Upstream service error
                status: Error
                errors: null
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: API-KEY
      description: Your partner API key. Must carry the `pobo` permission.

````