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

# Create Processor

> Register a new payment processor

# Create Processor

Register a new payment processor (merchant) with subscriber account and API credentials.

## Endpoint

```http theme={null}
POST /api/v1/processors
```

## Authentication

<ParamField header="Authorization" type="string" required>
  Bearer token (Admin JWT)
</ParamField>

## Request Body

<ParamField body="name" type="string" required>
  Business name
</ParamField>

<ParamField body="phone_number" type="string" required>
  Contact phone number
</ParamField>

<ParamField body="email" type="string" required>
  Email address for login
</ParamField>

<ParamField body="password" type="string" required>
  Initial password (min 6 characters)
</ParamField>

## Response

```json theme={null}
{
  "success": true,
  "processor_id": "proc_abc123",
  "message": "Processor created successfully",
  "api_key_id": "key_xyz789",
  "api_key": "olive_pos_live_xxxxxx",
  "hmac_secret": "secret_xxxxxx",
  "warning": "IMPORTANT: Save the API key and HMAC secret - they will not be shown again!"
}
```

## What Gets Created

1. Processor record in database
2. System user account for dashboard login
3. API key for POS integration
4. HMAC secret for request signing
5. WhatsApp notification with credentials

## Errors

| Code | Description                             |
| ---- | --------------------------------------- |
| 400  | Invalid request or email already exists |
| 401  | Unauthorized                            |
| 500  | Internal server error                   |


## OpenAPI

````yaml olive-openapi.json POST /processors
openapi: 3.0.0
info:
  description: >-
    API Gateway for OLIVE NFC Card Payment System - Comprehensive payment, card
    management, agent operations, and admin authentication. All /api/v1 routes
    require authentication using either API Key or JWT token.
  title: OLIVE NFC Card Payment API
  termsOfService: http://swagger.io/terms/
  contact:
    name: API Support
    email: support@olive.sl
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
servers:
  - url: https://olive-gateway-a6ba.onrender.com/api/v1
security: []
paths:
  /processors:
    post:
      tags:
        - Processors
      summary: Create new payment processor
      description: >-
        Register a new payment processor (merchant) with associated subscriber
        account
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/handler.CreateProcessorRequest'
        description: Processor details
        required: true
      responses:
        '200':
          description: Processor created successfully
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
      security:
        - BearerAuth: []
components:
  schemas:
    handler.CreateProcessorRequest:
      type: object
      required:
        - email
        - name
        - password
        - phone_number
      properties:
        email:
          type: string
          example: merchant@smartpay.sl
        name:
          type: string
          example: Smart PAY Merchant
        password:
          type: string
          minLength: 6
          example: SecurePass123
        phone_number:
          type: string
          example: '0771234567'
  securitySchemes:
    BearerAuth:
      description: >-
        JWT token from admin login for administrative operations. Format:
        'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
      type: apiKey
      name: Authorization
      in: header

````