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

# Create Customer

> Create a platform customer, the exporter entity you generate eBRCs for. Returns the platformCustomerId used in every later IRM and certificate generation call.

Create a platform customer for each exporter you generate certificates for. This is the first call in the lifecycle: the returned `id` is the `platformCustomerId` you pass to every IRM and generation endpoint.

### Request example

```bash theme={"dark"}
curl --location 'https://ebrcapi.eximfiles.io/api/v1/platform-customers/' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <YOUR_API_KEY>' \
  --data-raw '{
    "name": "Rohan Mehta",
    "email": "finance@suryatextiles.example.com",
    "type": "customer",
    "companyName": "Surya Textile Exports Pvt Ltd",
    "address": "Tiruppur, Tamil Nadu"
  }'
```

`name`, `email`, and `type` are required; `type` is always `"customer"`. `companyName` and `address` are optional.

### Response example

Returns `201` with the customer in the `data` field of the [standard envelope](/api-reference/introduction#response-envelope):

```json theme={"dark"}
{
  "success": true,
  "data": {
    "id": "ee849a90-7a28-49b4-8cb2-8e31041650a2",
    "name": "Rohan Mehta",
    "email": "finance@suryatextiles.example.com",
    "type": "customer",
    "companyName": "Surya Textile Exports Pvt Ltd",
    "address": "Tiruppur, Tamil Nadu",
    "platformId": "1f0c9a52-3b41-4d78-9e26-7a8b5c4d3e2f",
    "isActive": false,
    "createdAt": "2026-07-22T10:15:04.874Z",
    "updatedAt": "2026-07-22T10:15:04.874Z"
  },
  "statusCode": 201,
  "timestamp": "2026-07-22T10:15:04.901Z"
}
```

DGFT credentials are never returned by any customer endpoint.

### Errors

* `400` with `email: email must be an email` when the email fails validation. See [common validation errors](/errors#common-validation-errors).
* `401` / `403` for key problems. See [authentication errors](/authentication#authentication-errors).

### Next steps

* [Validate the customer's DGFT credentials](/api-reference/customer/validate) to enable filings.
* [Fetch their IRMs](/api-reference/irm/post) once services are enabled.
* Walk the whole flow in the [Quick Start](/quick-start).


## OpenAPI

````yaml POST /platform-customers
openapi: 3.1.0
info:
  title: eBRC API
  description: >-
    REST API for generating and managing electronic Bank Realization
    Certificates (eBRC) through DGFT's GenEBRC module. Onboard exporters,
    validate their DGFT credentials, pull inward remittance (IRM) data, submit
    certificate generation requests singly or in bulk, and track them to
    completion. All JSON responses are wrapped in the standard envelope {
    success, data, statusCode, timestamp }; the schemas on each endpoint
    describe the data field.
  contact:
    name: Eximfiles support
    email: amin@eximfiles.io
  version: 1.0.0
servers:
  - url: https://ebrcapi.eximfiles.io/api/v1
    description: Production
  - url: https://ebrcapi.dev.eximfiles.com/api/v1
    description: Sandbox
security:
  - x-api-key: []
paths:
  /platform-customers:
    post:
      summary: Create a platform customer
      description: >-
        Create a new platform customer (an exporter entity) under your platform
        account.
      operationId: createPlatformCustomer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                email:
                  type: string
                  format: email
                type:
                  type: string
                  enum:
                    - customer
                  default: customer
                companyName:
                  type: string
                address:
                  type: string
              required:
                - name
                - email
                - type
            examples:
              default:
                summary: Create an exporter entity
                value:
                  name: Rohan Mehta
                  email: finance@suryatextiles.example.com
                  type: customer
                  companyName: Surya Textile Exports Pvt Ltd
                  address: Tiruppur, Tamil Nadu
      responses:
        '201':
          description: Customer created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
        '400':
          description: Invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Customer:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the platform customer
        name:
          type: string
        email:
          type: string
          format: email
        type:
          type: string
          enum:
            - customer
          default: customer
        companyName:
          type: string
        address:
          type: string
        platformId:
          type: string
          description: Platform user ID that owns this customer
        isActive:
          type: boolean
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header

````