---
updatedAt: 2026-05-29T13:25:42.000Z
agentTools:
  projectIndex: https://developer.eftcorp.com/llms.txt
---

# Register a new organisation

Creates a new organisation record. The organisation can then have members (customers), positions, wallets, and documents associated with it.

# OpenAPI definition

```json
{
  "servers": [
    {
      "url": "https://eclipse-java-sandbox.ukheshe.rocks",
      "description": "Eclipse sandbox environment"
    },
    {
      "url": "https://ukheshe.live",
      "description": "Eclipse production environment"
    },
    {
      "url": "https://eclipse-java-develop.ukheshe.rocks",
      "description": "Eclipse development environment"
    },
    {
      "url": "https://zw.ukheshe.live",
      "description": "Zim Eclipse production environment"
    }
  ],
  "openapi": "3.1.0",
  "components": {
    "schemas": {
      "Avp": {
        "description": "An attribute/value pair for providing weakly typed data on various messages",
        "type": "object",
        "required": [
          "att",
          "val"
        ],
        "properties": {
          "att": {
            "type": "string",
            "pattern": "\\S"
          },
          "val": {
            "type": "string"
          }
        }
      },
      "BusinessType": {
        "type": "string",
        "enum": [
          "CLOSE_CORPORATION",
          "LIMITED_COMPANY",
          "PARTNERSHIP",
          "PERSONAL_LIABILITY_COMPANY",
          "PUBLIC_LISTED_COMPANY",
          "SOLE_PROPRIETOR",
          "STATE_OWNED_COMPANY",
          "TRUST",
          "UNREGISTERED"
        ]
      },
      "EclipseOrganisation": {
        "type": "object",
        "description": "A company, organisation or grouping of customers which can in turn own a wallet, have an address or have associated documents. Typically known as a Juristic but organisation can also include just a grouping of people like a family, club or association.",
        "properties": {
          "bankDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Avp"
            }
          },
          "businessRegistrationDate": {
            "type": "string",
            "description": "Business registration date must be in form of yyyyMMdd",
            "pattern": "^\\d{4}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])$",
            "minLength": 8,
            "maxLength": 8
          },
          "businessType": {
            "$ref": "#/components/schemas/BusinessType",
            "description": "The type of the business. This will be supplementary to organisation type when selected type of business.",
            "type": "string"
          },
          "businessWebsite": {
            "type": "string",
            "pattern": "^http(s)?:\\/\\/.*\\..*$",
            "minLength": 1,
            "maxLength": 512
          },
          "categoryCode": {
            "type": "integer",
            "format": "int64",
            "description": "Four digit Category code for this organisation."
          },
          "companyNumber": {
            "type": "string",
            "description": "Legal company number of the organisation",
            "minLength": 5,
            "maxLength": 20
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "examples": [
              "2022-03-10T12:15:50-04:00"
            ],
            "description": "ISO 8601 date/time of when the record was first created"
          },
          "email": {
            "type": "string",
            "description": "Email address of the organisation",
            "pattern": "^[\\w\\.\\+-]+@([\\w-]+\\.)+[\\w-]{2,10}$"
          },
          "externalUniqueId": {
            "type": "string",
            "description": "A globally unique identifier set by the tenant for this organisation. Useful for correlating between the tenants systems and Eclipse"
          },
          "industrialClassification": {
            "type": "string",
            "minLength": 3,
            "maxLength": 50
          },
          "industrialSector": {
            "type": "string",
            "minLength": 3,
            "maxLength": 50
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "examples": [
              "2022-03-10T12:15:50-04:00"
            ],
            "description": "ISO 8601 date/time of when the record was last modified"
          },
          "merchantId": {
            "type": "string",
            "description": "Merchant Id used for some card payment types to the organisations wallet"
          },
          "name": {
            "type": "string",
            "description": "Name of the organisation",
            "minLength": 3,
            "maxLength": 50
          },
          "organisationId": {
            "type": "integer",
            "format": "int64",
            "description": "Unique system generated identifier for an organisation",
            "exclusiveMinimum": 0
          },
          "phone1": {
            "type": "string",
            "description": "Organisations primary phone number",
            "pattern": "^[0-9]{8,16}$"
          },
          "phone2": {
            "type": "string",
            "description": "Organisations secondary phone number",
            "minLength": 10,
            "maxLength": 20
          },
          "status": {
            "$ref": "#/components/schemas/EclipseOrganisationStatus"
          },
          "taxNumber": {
            "type": "string",
            "description": "Tax number of the organisation",
            "minLength": 3,
            "maxLength": 20
          },
          "tenantId": {
            "type": "integer",
            "format": "int64"
          },
          "tradingName": {
            "type": "string",
            "minLength": 3,
            "maxLength": 50
          },
          "type": {
            "$ref": "#/components/schemas/OrganisationType",
            "description": "The type of the organisation",
            "type": "string"
          },
          "vatNumber": {
            "type": "string",
            "description": "VAT number of organisation"
          },
          "version": {
            "type": "integer",
            "format": "int32",
            "description": "A number indicating the version of the record. Updates will only be accepted if the passed in version is the same as the current version on record. This is in order to prevent concurrent modifications by multiple users.",
            "minimum": 0
          }
        },
        "required": [
          "phone1",
          "version"
        ]
      },
      "EclipseOrganisationStatus": {
        "description": "Status of the eclipse organisation. ACTIVE:Organisation is active, INACTIVE:Organisation is in active, BARRED:Organisation is in barred",
        "type": "string",
        "enum": [
          "ACTIVE",
          "BARRED",
          "INACTIVE"
        ]
      },
      "ExceptionData": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "environment": {
            "type": "string"
          },
          "info": {
            "type": "object",
            "additionalProperties": {}
          },
          "severity": {
            "$ref": "#/components/schemas/ExceptionSeverity"
          },
          "spanId": {
            "type": "string"
          },
          "stackTrace": {
            "type": "string"
          },
          "traceId": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/ExceptionType"
          }
        }
      },
      "ExceptionSeverity": {
        "type": "string",
        "enum": [
          "CRITICAL",
          "HIGH",
          "INFO",
          "LOW",
          "MEDIUM"
        ]
      },
      "ExceptionType": {
        "type": "string",
        "enum": [
          "BUSINESS",
          "SYSTEM"
        ]
      },
      "NewEclipseOrganisation": {
        "description": "A company, organisation or grouping of customers which can in turn own a wallet, have an address or have associated documents. Typically known as a Juristic but organisation can also include just a grouping of people like a family.",
        "type": "object",
        "properties": {
          "bankDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Avp"
            }
          },
          "businessRegistrationDate": {
            "type": "string",
            "description": "Business registration date must be in form of yyyyMMdd",
            "pattern": "^\\d{4}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])$",
            "minLength": 8,
            "maxLength": 8
          },
          "businessType": {
            "$ref": "#/components/schemas/BusinessType",
            "description": "The type of the business. This will be supplementary to organisation type when selected type of business.",
            "type": "string"
          },
          "businessWebsite": {
            "type": "string",
            "pattern": "^http(s)?:\\/\\/.*\\..*$",
            "minLength": 1,
            "maxLength": 512
          },
          "categoryCode": {
            "type": "integer",
            "format": "int64",
            "description": "Four digit Category code for this organisation."
          },
          "companyNumber": {
            "type": "string",
            "description": "Legal company number of the organisation",
            "minLength": 5,
            "maxLength": 20
          },
          "email": {
            "type": "string",
            "description": "Email address of the organisation",
            "pattern": "^[\\w\\.\\+-]+@([\\w-]+\\.)+[\\w-]{2,10}$"
          },
          "externalUniqueId": {
            "type": "string",
            "description": "A globally unique identifier set by the tenant for this organisation. Useful for correlating between the tenants systems and Eclipse",
            "minLength": 6,
            "maxLength": 100
          },
          "industrialClassification": {
            "type": "string",
            "minLength": 3,
            "maxLength": 50
          },
          "industrialSector": {
            "type": "string",
            "minLength": 3,
            "maxLength": 50
          },
          "merchantId": {
            "type": "string",
            "description": "Merchant Id used for some card payment types to the organisations wallet"
          },
          "name": {
            "type": "string",
            "description": "Name of the organisation",
            "minLength": 3,
            "maxLength": 50
          },
          "phone1": {
            "type": "string",
            "description": "Organisations primary phone number",
            "pattern": "^[0-9]{8,16}$"
          },
          "phone2": {
            "type": "string",
            "description": "Organisations secondary phone number",
            "pattern": "^[0-9]{8,16}$"
          },
          "taxNumber": {
            "type": "string",
            "description": "Tax number of the organisation",
            "minLength": 3,
            "maxLength": 20
          },
          "tradingName": {
            "type": "string",
            "minLength": 3,
            "maxLength": 50
          },
          "type": {
            "$ref": "#/components/schemas/OrganisationType",
            "description": "The type of the organisation",
            "type": "string"
          },
          "vatNumber": {
            "type": "string",
            "description": "VAT number of organisation"
          }
        },
        "required": [
          "externalUniqueId"
        ]
      },
      "OrganisationType": {
        "description": "OrganisationType",
        "type": "string",
        "enum": [
          "BUSINESS",
          "CLUB",
          "FAMILY",
          "MERCHANT",
          "OTHER",
          "PERMISSION_GROUP",
          "RAP"
        ]
      }
    },
    "securitySchemes": {
      "JWTBearerAuthorisation": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "info": {
    "description": "A RESTful API using JSON as the data transfer model, covering all tenant-facing functionality in the Eclipse payments platform.",
    "title": "Eclipse ReST API",
    "version": "3.0.0"
  },
  "tags": [
    {
      "name": "e) Organisation Management",
      "description": "Manage organisations, their members, wallets, positions, documents, terminals, stores, beneficiaries, and cards on file."
    }
  ],
  "paths": {
    "/eclipse-conductor/rest/v1/tenants/{tenantId}/organisations": {
      "post": {
        "summary": "Register a new organisation",
        "description": "Creates a new organisation record. The organisation can then have members (customers), positions, wallets, and documents associated with it.",
        "tags": [
          "e) Organisation Management"
        ],
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewEclipseOrganisation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EclipseOrganisation"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExceptionData"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "JWTBearerAuthorisation": []
          }
        ]
      }
    }
  }
}
```