> ## Documentation Index
> Fetch the complete documentation index at: https://rain-sandbox-trial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a corporate application for a company



## OpenAPI

````yaml post /issuing/applications/company
openapi: 3.0.3
info:
  title: Issuing API
  description: This is the specification for Rain's Issuing API.
  termsOfService: https://www.rain.xyz/legal/authorized-user-terms
  contact:
    email: support@rain.xyz
  version: 1.3.0
servers:
  - url: https://api-dev.rain.xyz/v1
    description: Sandbox server
  - url: https://api.rain.xyz/v1
    description: Production server
security: []
tags:
  - name: paymentRoutes
    description: >-
      **Endpoint Migration:** The `/v1/automations` endpoints have been renamed
      to `/v1/payment-routes`. The old `/v1/automations` paths remain available
      as deprecated aliases during migration. Update your integrations to use
      `/v1/payment-routes` as the deprecated endpoints will be removed in a
      future release.
  - name: simulate
    description: >-
      Transaction simulation endpoints for testing integration flows in
      non-production environments. These endpoints let you trigger transaction
      events programmatically to automate integration tests and verify webhook
      handling without depending on external systems or staging real deposits.
      **Sandbox only** — all simulation endpoints return `404 Not Found` in
      production.
  - name: raindrops
    description: >-
      Rewards and points management endpoints. Custom API keys need
      `raindrops:read`/`raindrops:write` for general rewards endpoints and
      `raindrops-travel:read`/`raindrops-travel:write` for travel redemption
      endpoints.
    x-group: rewards
paths:
  /issuing/applications/company:
    post:
      tags:
        - applications
      summary: Create a corporate application for a company
      operationId: createIssuingCompany
      requestBody:
        description: Application information for this company
        content:
          application/json:
            schema:
              type: object
              required:
                - initialUser
                - name
                - address
                - entity
                - representatives
                - ultimateBeneficialOwners
              properties:
                initialUser:
                  allOf:
                    - $ref: '#/components/schemas/IssuingApplicationPerson'
                    - type: object
                      description: >-
                        The initial user of the company - they must have a
                        wallet address, and their wallet address will be an
                        owner on the company's Rain smart contract
                      required:
                        - ipAddress
                      properties:
                        role:
                          type: string
                          description: >-
                            This user's role at their company (not their role on
                            the Rain platform)
                        walletAddress:
                          type: string
                          pattern: ^0x[0-9a-fA-F]{40}$
                          description: >-
                            This user's EVM address; either walletAddress or
                            solanaAddress is required if using a Rain-managed
                            solution, but not required otherwise
                        solanaAddress:
                          type: string
                          pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
                          description: >-
                            This user's Solana address; either walletAddress or
                            solanaAddressis required if using a Rain-managed
                            solution, but not required otherwise
                        stellarAddress:
                          type: string
                          pattern: ^[GC][A-Z2-7]{55}$|^M[A-Z2-7]{68}$
                          description: >-
                            This user's Stellar address; either walletAddress or
                            solanaAddress or stellarAddress is required if using
                            a Rain-managed solution, but not required otherwise
                        ipAddress:
                          type: string
                          description: This user's IP address
                        isTermsOfServiceAccepted:
                          type: boolean
                          description: >-
                            Optional. Whether the user has accepted the terms of
                            service. If omitted, this defaults to true
                            server-side.
                          enum:
                            - true
                name:
                  type: string
                  description: The name of the company looking to create an account
                address:
                  $ref: '#/components/schemas/PhysicalAddress'
                  description: The company's physical address
                chainId:
                  type: string
                  description: >-
                    If using external collateral contracts, the chain id of the
                    company's external collateral contract; not required if
                    using Rain's collateral contracts
                contractAddress:
                  $ref: '#/components/schemas/EvmOrSolanaWalletAddress'
                  description: >-
                    If using external collateral contracts, the address of the
                    company's external collateral contract; not required if
                    using Rain's collateral contracts
                sourceKey:
                  type: string
                  minLength: 1
                  maxLength: 24
                  description: Unique identifier for where this user is coming from
                externalId:
                  type: string
                  minLength: 1
                  maxLength: 255
                  description: >-
                    An optional tenant-defined identifier for this company. Must
                    be unique within the tenant.
                entity:
                  type: object
                  description: The company's legal entity
                  required:
                    - name
                    - description
                    - industry
                    - registrationNumber
                    - taxId
                    - website
                  properties:
                    name:
                      type: string
                      description: The legal entity's name
                    type:
                      type: string
                      description: The legal entity's type - LLC, S Corp, etc.
                    description:
                      type: string
                      description: >-
                        A brief description of the legal entity, and its
                        activities
                    industry:
                      type: string
                      description: The legal entity's industry
                    registrationNumber:
                      type: string
                      description: The legal entity's registration number
                    taxId:
                      type: string
                      description: The legal entity's national tax id
                    website:
                      type: string
                      description: The legal entity's website
                    expectedSpend:
                      type: string
                      description: How much the legal entity expects to spend each month
                representatives:
                  type: array
                  description: The company's representatives
                  items:
                    $ref: '#/components/schemas/IssuingApplicationPerson'
                ultimateBeneficialOwners:
                  type: array
                  description: The company's ultimate beneficial owners
                  items:
                    $ref: '#/components/schemas/IssuingApplicationPerson'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssuingCompany'
        '400':
          description: Invalid request
        '401':
          description: Invalid authorization
        '500':
          description: Internal server error
      security:
        - ApiKeyAuth: []
components:
  schemas:
    IssuingApplicationPerson:
      type: object
      required:
        - firstName
        - lastName
        - birthDate
        - nationalId
        - countryOfIssue
        - email
        - address
      properties:
        id:
          type: string
          format: uuid
          description: >-
            The initiated application's Rain ID, if an application was
            previously initiated for this user
        firstName:
          type: string
          maxLength: 50
          description: The person's first name
        lastName:
          type: string
          maxLength: 50
          description: The person's last name
        birthDate:
          type: string
          format: date
          example: '2000-01-01'
          description: The person's birth date
        nationalId:
          type: string
          description: The person's national id, 9-digit SSN if country of issue is US
        countryOfIssue:
          $ref: '#/components/schemas/CountryCode'
          description: The person's country of issue of their national id
        email:
          type: string
          description: The person's email address
        phoneCountryCode:
          type: string
          minLength: 1
          maxLength: 3
          pattern: ^[0-9]+$
          example: '1'
          description: The user's phone country code
        phoneNumber:
          type: string
          minLength: 1
          maxLength: 15
          pattern: ^[0-9]+$
          example: '5555555555'
          description: The user's phone number
        address:
          $ref: '#/components/schemas/PhysicalAddress'
          description: The person's address
    PhysicalAddress:
      type: object
      required:
        - line1
        - city
        - region
        - postalCode
        - countryCode
      properties:
        line1:
          type: string
          maxLength: 100
        line2:
          type: string
          maxLength: 100
        city:
          type: string
          maxLength: 50
        region:
          type: string
          maxLength: 50
        postalCode:
          type: string
          minLength: 1
          maxLength: 15
          pattern: ^[a-zA-Z0-9 -]{1,15}$
        countryCode:
          $ref: '#/components/schemas/CountryCode'
        country:
          type: string
          maxLength: 50
    EvmOrSolanaWalletAddress:
      type: string
      pattern: ^(0x[0-9a-fA-F]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$
    IssuingCompany:
      allOf:
        - type: object
          required:
            - id
            - name
            - address
          properties:
            id:
              type: string
              format: uuid
              description: The company's unique identifier
            externalId:
              type: string
              minLength: 1
              maxLength: 255
              description: >-
                An optional tenant-defined identifier for this company. Must be
                unique within the tenant.
            sourceKey:
              type: string
              minLength: 1
              maxLength: 24
              description: The source key associated with the company's team
            name:
              type: string
              description: The company's name on the Rain platform
            address:
              $ref: '#/components/schemas/PhysicalAddress'
              description: The company's physical address
        - type: object
          properties:
            ultimateBeneficialOwners:
              type: array
              description: The company's ultimate beneficial owners
              items:
                allOf:
                  - type: object
                    required:
                      - id
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: The UBO's id
                  - $ref: '#/components/schemas/IssuingApplication'
        - $ref: '#/components/schemas/IssuingApplication'
    CountryCode:
      type: string
      minLength: 2
      maxLength: 2
    IssuingApplication:
      type: object
      required:
        - applicationStatus
      properties:
        applicationStatus:
          $ref: '#/components/schemas/ApplicationStatus'
        applicationExternalVerificationLink:
          type: object
          description: The link to the external verification page for the application
          deprecated: true
          required:
            - url
          properties:
            url:
              type: string
              format: uri
            params:
              type: object
              properties:
                userId:
                  type: string
                  format: uuid
        applicationCompletionLink:
          type: object
          description: The link to the completion page for the application
          required:
            - url
          properties:
            url:
              type: string
              format: uri
            params:
              type: object
              properties:
                userId:
                  type: string
                  format: uuid
        applicationReason:
          type: string
          description: The reason for the application status
    ApplicationStatus:
      type: string
      enum:
        - approved
        - pending
        - needsInformation
        - needsVerification
        - manualReview
        - denied
        - locked
        - canceled
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: Api-Key
      in: header

````