Copper.co Organizations API

The organizations API from Copper.co — 3 operation(s) for organizations.

OpenAPI Specification

copper-co-organizations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'Copper API is based on the REST API interface provided for data exchange between a client and a server with the use of HTTPS requests and responses.

    By default, the request should include a Content-Type header set as application/json. Some requests require different header fields, as well as other Content-Type values. In this case, a proper header will be stated in an example.

    When interacting with the API, please note that all numerical values, such as order amounts or timestamps, should be transmitted as strings. This ensures consistent data representation and prevents potential issues with floating-point precision'
  title: Copper Platform Organizations API
  version: latest
servers:
- description: platform.copper.co
  url: https://api.copper.co/platform
- description: demo.copper.co
  url: https://api.stage.copper.co/platform
- description: testnet.copper.co
  url: https://api.testnet.copper.co/platform
tags:
- name: organizations
paths:
  /organizations:
    get:
      description: Retrieve information about organizations
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organizations'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Get Organizations
      tags:
      - organizations
  /organizations/{organizationId}/activities:
    get:
      description: Retrieve information about all activities in the organization
      parameters:
      - in: query
        name: offset
        required: false
        schema:
          type: string
      - description: Maximum number of records to return (pagination limit)
        in: query
        name: limit
        required: false
        schema:
          default: '1000'
          type: string
      - in: query
        name: createdFrom
        required: false
        schema:
          type: string
      - in: query
        name: createdTo
        required: false
        schema:
          type: string
      - description: Search string based on activity name and description
        in: query
        name: search
        required: false
        schema:
          type: string
      - description: Filter activities by activity types. [See details](/enums/ActivityType)
        in: query
        name: activityTypes
        required: false
        schema:
          items:
            $ref: '#/components/schemas/ActivityType'
          type: array
      - description: Exclude activities by activity types. [See details](/enums/ActivityType)
        in: query
        name: excludedActivityTypes
        required: false
        schema:
          items:
            $ref: '#/components/schemas/ActivityType'
          type: array
      - description: Filter activities by user IDs
        in: query
        name: userIds
        required: false
        schema:
          items:
            type: string
          type: array
      - description: application/json by default OR text/csv
        in: header
        name: Accept
        required: false
        schema:
          type: string
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Activities'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Get Activities
      tags:
      - organizations
  /organizations/{organizationId}/members:
    get:
      description: Retrieve information about organization members
      parameters:
      - description: Embed data about members' permission groups
        in: query
        name: includePermissionGroups
        required: false
        schema:
          default: 'false'
          type: boolean
      - description: Embed data about members' user information
        in: query
        name: includeUsers
        required: false
        schema:
          default: 'false'
          type: boolean
      - in: path
        name: organizationId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationMembers'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Get Organization Members
      tags:
      - organizations
components:
  schemas:
    User:
      properties:
        createdAt:
          description: Created at timestamp in milliseconds
          type: string
        firstName:
          description: The user's first name
          type: string
        lastName:
          description: The user's last name
          type: string
        userId:
          description: The user ID
          type: string
      required:
      - userId
      type: object
    Activities:
      properties:
        activities:
          items:
            $ref: '#/components/schemas/Activity'
          type: array
      type: object
    Organizations:
      properties:
        organizations:
          description: List of organizations
          items:
            $ref: '#/components/schemas/Organization'
          type: array
      required:
      - organizations
      type: object
    Activity:
      properties:
        activityId:
          type: string
        activityType:
          $ref: '#/components/schemas/ActivityType'
          description: '[See details](/enums/ActivityType)'
        createdAt:
          type: string
        description:
          type: string
        name:
          type: string
        organizationId:
          type: string
        portfolioId:
          type: string
        userId:
          type: string
      required:
      - activityId
      - name
      - description
      - createdAt
      - activityType
      type: object
    OrganizationType:
      enum:
      - standard
      type: string
    ActivityType:
      enum:
      - login
      - invitation-cancelled
      - failed-login
      - user-permissions-update
      - bank-account-update
      - bank-account-deactivate
      - new-bank-account
      - new-crypto-address
      - crypto-address-deletion
      - clearloop-delegation-undelegation
      - exchange-account-update
      - invoice-payment
      - invoice-update
      - organisation-archiving
      - organisation-blocking
      - secondary-approval-settings
      - new-organisation
      - otc-settings
      - last-to-sign-settings
      - member-activation
      - new-member
      - member-deactivation
      - member-permissions-update
      - member-update
      - organisation-unarchiving
      - withdrawal-password-update
      - whitelist-lock
      - timelock-delay
      - account-activation
      - new-account
      - account-archiving
      - add-crypto-address-settings-update
      - account-settings-update
      - account-update
      - stake-agreement-review
      - walled-garden-manager-change
      - new-wallet
      - wallet-deposit-address-changes
      - order-cancellation
      - order-execution
      - order-termination
      - sso-configuration-creation
      - sso-configuration-update
      - sso-configuration-deactivation
      - wg-portfolio-secondary-approval-settings
      - approval-workflow-update
      - passkey-creation
      - new-api-key
      - api-key-revocation
      - api-key-transfer
      - credentials-reset
      - passkey-deletion
      - password-change
      - 2fa-change
      - manual-deposit-compliance-approval
      - manual-deposit-compliance-rejection
      - new-loan
      - loan-approved
      - loan-rejected
      - loan-accepted
      - loan-cancelled
      - loan-top-up-request
      - loan-top-up-accepted
      - loan-top-up-cancelled
      - loan-repayment
      - loan-repayment-accepted
      - loan-repayment-cancelled
      - loan-default
      - loan-partial-default
      - add-collateral-to-loan
      - loan-rebalance-request
      - loan-rebalance-accepted
      - loan-rebalance-cancelled
      - external-loan-disbursal-confirmed
      - external-loan-top-up-confirmed
      - external-loan-repayment-confirmed
      - loan-rerate-request
      - loan-rerate-accepted
      - loan-rerate-cancelled
      - loan-extension-request
      - loan-extension-accepted
      - loan-extension-cancelled
      type: string
    Organization:
      properties:
        alias:
          description: The organization alias
          type: string
        createdAt:
          description: The organization creation timestamp
          type: string
        extra:
          $ref: '#/components/schemas/OrganizationExtra'
          description: The organization additional information
          type: object
        organizationId:
          description: The organization ID
          type: string
        organizationName:
          description: The organization name
          type: string
        organizationType:
          $ref: '#/components/schemas/OrganizationType'
          description: The organization type. [See details](/enums/OrganizationType)
        reportingCurrency:
          description: The organization reporting currency
          type: string
      required:
      - organizationId
      - organizationName
      - createdAt
      - reportingCurrency
      - organizationType
      type: object
    OrganizationExtra:
      properties:
        defaultFiatPortfolioId:
          description: Portfolio id where fiat deposits are credited (must be a trading portfolio)
          type: string
      type: object
    MemberType:
      enum:
      - user
      - service
      type: string
    OrganizationMember:
      properties:
        _embedded:
          $ref: '#/components/schemas/OrganizationMemberEmbedded'
          description: Additional data about the member
          type: object
        createdAt:
          description: Created at timestamp in milliseconds
          type: string
        deactivatedAt:
          description: Deactivated at timestamp in milliseconds
          type: string
        isActive:
          description: Indicates, whether the member is active
          type: boolean
        memberType:
          $ref: '#/components/schemas/MemberType'
          description: The member type. [See details](/enums/MemberType)
        organizationId:
          description: The organization ID
          type: string
        updatedAt:
          description: Last updated at timestamp in milliseconds
          type: string
        userId:
          description: The user ID
          type: string
      required:
      - organizationId
      - userId
      - isActive
      type: object
    OrganizationMembers:
      properties:
        members:
          description: List of organization members
          items:
            $ref: '#/components/schemas/OrganizationMember'
          type: array
      required:
      - members
      type: object
    OrganizationMemberEmbedded:
      properties:
        permissionGroups:
          description: List of permission groups the member belongs to
          items:
            type: string
          type: array
        user:
          $ref: '#/components/schemas/User'
          description: Member's user information
          type: object
      type: object