openapi: 3.0.3
info:
  title: B2B API V1 (Legacy)
  description: Rise is a blockchain first platform where by all actions are
    secured and executed on-chain. Rise has blockchain smart-contracts on the
    Arbitrum optimistic rollup chain that control the flow of funds. That means
    that executing a change within the Rise platform requires a wallet with
    permissions on the user or company's RiseID.
  version: 1.0.0
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    v1Auth:
      type: apiKey
      name: X-Auth-Token
      in: header
      description: JWT token
  schemas: {}
paths:
  /v1/auth/api/siwe:
    get:
      summary: Get SIWE (V1 Legacy)
      tags:
        - Authentication
      description: V1-compatible endpoint to get SIWE message. Routes to V2 if user is
        migrated.
      parameters:
        - schema:
            type: string
          in: query
          name: wallet
          required: false
          description: Wallet address of the user.
        - schema:
            type: string
          in: query
          name: rise_id
          required: false
          description: RiseID of the user.
        - schema:
            type: string
          in: query
          name: impersonate
          required: false
          description: User identifier to impersonate (optional).
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      wallet:
                        type: string
                        description: The wallet address of the user.
                      message:
                        type: string
                        description: The SIWE message that the user needs to sign.
                    required:
                      - wallet
                      - message
                    additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
    post:
      summary: Verify SIWE (V1 Legacy)
      tags:
        - Authentication
      description: V1-compatible endpoint to verify SIWE signature. Routes to V2 if
        user is migrated.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                wallet:
                  description: Wallet address of the user.
                  type: string
                message:
                  description: The original SIWE message that was signed by the user.
                  type: string
                signature:
                  description: The signature generated by the user when signing the SIWE message.
                  type: string
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      token:
                        type: string
                        description: The JSON Web Token (JWT) for authenticated API requests.
                      expires_in:
                        type: number
                        description: Token expiration time in seconds (86400 = 24 hours).
                      wallet_address:
                        type: string
                        description: The wallet address of the authenticated user.
                    required:
                      - token
                      - expires_in
                      - wallet_address
                    additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
  /v1/payments/pay:
    put:
      summary: Prepare instant payment (V1 Legacy)
      tags:
        - Payments
      description: V1-compatible endpoint to prepare a single pay-now payment for
        signing. Returns EIP-712 typed data.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                wallet:
                  type: string
                  description: Wallet address of the payer.
                rise_id:
                  anyOf:
                    - type: string
                    - type: number
                  description: RiseID, address, or team nanoid of the paying team.
                payee:
                  anyOf:
                    - type: string
                    - type: number
                  description: RiseID, address, or user nanoid of the payee.
                amount:
                  anyOf:
                    - type: string
                    - type: number
                  description: Payment amount in micro-USD (1,000,000 = $1.00).
                salt:
                  anyOf:
                    - type: string
                    - type: number
                  description: Unique salt for this payment.
              required:
                - wallet
                - rise_id
                - payee
                - amount
                - salt
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      domain:
                        type: object
                        additionalProperties: {}
                        description: EIP-712 domain separator.
                      types:
                        type: object
                        additionalProperties: {}
                        description: EIP-712 type definitions.
                      message:
                        description: EIP-712 typed-data message to sign.
                      primaryType:
                        type: string
                        description: EIP-712 primary type name.
                      descriptor:
                        type: object
                        additionalProperties: {}
                        description: V1 instant-pay sign returned a descriptor object; V2 has no
                          equivalent so this is always empty.
                    required:
                      - domain
                      - types
                      - message
                      - primaryType
                      - descriptor
                    additionalProperties: {}
                  duplicates:
                    type: object
                    properties:
                      days_checked:
                        type: number
                      payments:
                        type: array
                        items:
                          type: object
                          properties:
                            to:
                              type: string
                            amount_cents:
                              type: number
                            currency_symbol:
                              type: string
                            invoice_description:
                              type: string
                            payment_details:
                              type: string
                            external_id:
                              type: string
                            created_at:
                              anyOf:
                                - type: string
                                - type: string
                                  format: date-time
                          required:
                            - to
                            - amount_cents
                            - currency_symbol
                            - invoice_description
                            - payment_details
                            - external_id
                            - created_at
                          additionalProperties: false
                    required:
                      - days_checked
                      - payments
                    additionalProperties: false
                    description: Present only when potential duplicate payments (same payee/amount
                      within the lookback window) were detected.
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
    post:
      summary: Execute instant payment (V1 Legacy)
      tags:
        - Payments
      description: V1-compatible endpoint to broadcast a previously-signed single
        pay-now payment.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                wallet:
                  type: string
                  description: Wallet address of the payer.
                rise_id:
                  anyOf:
                    - type: string
                    - type: number
                  description: RiseID, address, or team nanoid of the paying team.
                payee:
                  anyOf:
                    - type: string
                    - type: number
                  description: RiseID, address, or user nanoid of the payee.
                amount:
                  anyOf:
                    - type: string
                    - type: number
                  description: Payment amount in micro-USD (1,000,000 = $1.00).
                salt:
                  anyOf:
                    - type: string
                    - type: number
                  description: Unique salt for this payment.
                request:
                  type: object
                  additionalProperties: {}
                  description: The typed-data request object returned by the sign step.
                signature:
                  type: string
                  description: Signature over the typed data returned by the sign step.
                title:
                  description: Optional payment title (max 60 chars).
                  type: string
                description:
                  description: Optional payment description (max 1000 chars).
                  type: string
                external_id:
                  description: Optional caller-supplied external reference id.
                  type: string
              required:
                - wallet
                - rise_id
                - payee
                - amount
                - salt
                - request
                - signature
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      to:
                        type: string
                        nullable: true
                      from:
                        type: string
                        nullable: true
                      contractAddress:
                        type: string
                        nullable: true
                      transactionIndex:
                        type: number
                      gasUsed:
                        type: object
                        properties:
                          type:
                            type: string
                          hex:
                            type: string
                        required:
                          - type
                          - hex
                        additionalProperties: false
                      logsBloom:
                        type: string
                      blockHash:
                        type: string
                      transactionHash:
                        type: string
                      logs:
                        type: array
                        items:
                          type: object
                          properties:
                            transactionIndex:
                              type: number
                            blockNumber:
                              type: number
                            transactionHash:
                              type: string
                            address:
                              type: string
                            topics:
                              type: array
                              items:
                                type: string
                            data:
                              type: string
                            logIndex:
                              type: number
                            blockHash:
                              type: string
                          required:
                            - transactionIndex
                            - blockNumber
                            - transactionHash
                            - address
                            - topics
                            - data
                            - logIndex
                            - blockHash
                          additionalProperties: false
                      blockNumber:
                        type: number
                      confirmations:
                        type: number
                      cumulativeGasUsed:
                        type: object
                        properties:
                          type:
                            type: string
                          hex:
                            type: string
                        required:
                          - type
                          - hex
                        additionalProperties: false
                      effectiveGasPrice:
                        type: object
                        properties:
                          type:
                            type: string
                          hex:
                            type: string
                        required:
                          - type
                          - hex
                        additionalProperties: false
                      status:
                        type: number
                        nullable: true
                      type:
                        type: number
                      byzantium:
                        type: boolean
                        enum:
                          - true
                    required:
                      - to
                      - from
                      - contractAddress
                      - transactionIndex
                      - gasUsed
                      - logsBloom
                      - blockHash
                      - transactionHash
                      - logs
                      - blockNumber
                      - confirmations
                      - cumulativeGasUsed
                      - effectiveGasPrice
                      - status
                      - type
                      - byzantium
                    additionalProperties: false
                    description: ethers-v5-shaped transaction receipt, matching V1.
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
        "504":
          description: Gateway Timeout - transaction not confirmed in time
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Gateway Timeout - transaction not confirmed in time
  /v1/payments/batch-pay:
    put:
      summary: Prepare batch payment (V1 Legacy)
      tags:
        - Payments
      description: V1-compatible endpoint to prepare a batch of pay-now payments for
        signing. Returns EIP-712 typed data.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                wallet:
                  type: string
                  description: Wallet address of the payer.
                rise_id:
                  anyOf:
                    - type: string
                    - type: number
                  description: RiseID, address, or team nanoid of the paying team.
                total_amount:
                  anyOf:
                    - type: string
                    - type: number
                  description: Sum of all payment amounts, in micro-USD (1,000,000 = $1.00); must
                    match the payments array.
                payments:
                  type: array
                  items:
                    type: object
                    properties:
                      recipient:
                        anyOf:
                          - type: string
                          - type: number
                        description: RiseID, address, or user nanoid of the payee.
                      amount:
                        anyOf:
                          - type: string
                          - type: number
                        description: Payment amount in micro-USD (1,000,000 = $1.00).
                      salt:
                        anyOf:
                          - type: string
                          - type: number
                        description: Unique salt for this payment.
                    required:
                      - recipient
                      - amount
                      - salt
              required:
                - wallet
                - rise_id
                - total_amount
                - payments
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      domain:
                        type: object
                        additionalProperties: {}
                        description: EIP-712 domain separator.
                      types:
                        type: object
                        additionalProperties: {}
                        description: EIP-712 type definitions.
                      message:
                        description: EIP-712 typed-data message to sign.
                      primaryType:
                        type: string
                        description: EIP-712 primary type name.
                    required:
                      - domain
                      - types
                      - message
                      - primaryType
                    additionalProperties: {}
                  duplicates:
                    type: object
                    properties:
                      days_checked:
                        type: number
                      payments:
                        type: array
                        items:
                          type: object
                          properties:
                            to:
                              type: string
                            amount_cents:
                              type: number
                            currency_symbol:
                              type: string
                            invoice_description:
                              type: string
                            payment_details:
                              type: string
                            external_id:
                              type: string
                            created_at:
                              anyOf:
                                - type: string
                                - type: string
                                  format: date-time
                          required:
                            - to
                            - amount_cents
                            - currency_symbol
                            - invoice_description
                            - payment_details
                            - external_id
                            - created_at
                          additionalProperties: false
                    required:
                      - days_checked
                      - payments
                    additionalProperties: false
                    description: Present only when potential duplicate payments (same payee/amount
                      within the lookback window) were detected.
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
    post:
      summary: Execute batch payment (V1 Legacy)
      tags:
        - Payments
      description: V1-compatible endpoint to broadcast a previously-signed batch of
        pay-now payments.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                wallet:
                  type: string
                  description: Wallet address of the payer.
                rise_id:
                  anyOf:
                    - type: string
                    - type: number
                  description: RiseID, address, or team nanoid of the paying team.
                total_amount:
                  anyOf:
                    - type: string
                    - type: number
                payments:
                  type: array
                  items:
                    type: object
                    properties:
                      recipient:
                        anyOf:
                          - type: string
                          - type: number
                        description: RiseID, address, or user nanoid of the payee.
                      amount:
                        anyOf:
                          - type: string
                          - type: number
                        description: Payment amount in micro-USD (1,000,000 = $1.00).
                      salt:
                        anyOf:
                          - type: string
                          - type: number
                        description: Unique salt for this payment.
                      title:
                        description: Optional payment title (max 60 chars).
                        type: string
                      description:
                        description: Optional payment description (max 1000 chars).
                        type: string
                      external_id:
                        description: Optional caller-supplied external reference id.
                        type: string
                    required:
                      - recipient
                      - amount
                      - salt
                request:
                  type: object
                  additionalProperties: {}
                  description: The typed-data request object returned by the sign step.
                signature:
                  type: string
                  description: Signature over the typed data returned by the sign step.
              required:
                - wallet
                - rise_id
                - total_amount
                - payments
                - request
                - signature
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      to:
                        type: string
                        nullable: true
                      from:
                        type: string
                        nullable: true
                      contractAddress:
                        type: string
                        nullable: true
                      transactionIndex:
                        type: number
                      gasUsed:
                        type: object
                        properties:
                          type:
                            type: string
                          hex:
                            type: string
                        required:
                          - type
                          - hex
                        additionalProperties: false
                      logsBloom:
                        type: string
                      blockHash:
                        type: string
                      transactionHash:
                        type: string
                      logs:
                        type: array
                        items:
                          type: object
                          properties:
                            transactionIndex:
                              type: number
                            blockNumber:
                              type: number
                            transactionHash:
                              type: string
                            address:
                              type: string
                            topics:
                              type: array
                              items:
                                type: string
                            data:
                              type: string
                            logIndex:
                              type: number
                            blockHash:
                              type: string
                          required:
                            - transactionIndex
                            - blockNumber
                            - transactionHash
                            - address
                            - topics
                            - data
                            - logIndex
                            - blockHash
                          additionalProperties: false
                      blockNumber:
                        type: number
                      confirmations:
                        type: number
                      cumulativeGasUsed:
                        type: object
                        properties:
                          type:
                            type: string
                          hex:
                            type: string
                        required:
                          - type
                          - hex
                        additionalProperties: false
                      effectiveGasPrice:
                        type: object
                        properties:
                          type:
                            type: string
                          hex:
                            type: string
                        required:
                          - type
                          - hex
                        additionalProperties: false
                      status:
                        type: number
                        nullable: true
                      type:
                        type: number
                      byzantium:
                        type: boolean
                        enum:
                          - true
                    required:
                      - to
                      - from
                      - contractAddress
                      - transactionIndex
                      - gasUsed
                      - logsBloom
                      - blockHash
                      - transactionHash
                      - logs
                      - blockNumber
                      - confirmations
                      - cumulativeGasUsed
                      - effectiveGasPrice
                      - status
                      - type
                      - byzantium
                    additionalProperties: false
                    description: ethers-v5-shaped transaction receipt, matching V1.
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
        "504":
          description: Gateway Timeout - transaction not confirmed in time
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Gateway Timeout - transaction not confirmed in time
  /v1/payments/batch-pay/intents:
    post:
      summary: Create batch payment intents (V1 Legacy)
      tags:
        - Payments
      description: V1-compatible endpoint to create draft (unscheduled) batch payment
        intents.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_id:
                  anyOf:
                    - type: string
                    - type: number
                  description: Numeric id, RiseID address, or team nanoid of the paying
                    company/team.
                pay_intents:
                  type: array
                  items:
                    type: object
                    properties:
                      payee_riseid:
                        anyOf:
                          - type: string
                          - type: number
                        description: RiseID, address, or user nanoid of the payee.
                      amount:
                        anyOf:
                          - type: string
                          - type: number
                        description: Payment amount in micro-USD (1,000,000 = $1.00).
                      salt:
                        anyOf:
                          - type: string
                          - type: number
                        description: Unique salt for this payment.
                      timestamp:
                        anyOf:
                          - type: string
                          - type: number
                        description: Unix timestamp the intent is scheduled/approved for.
                      title:
                        description: Optional payment title (max 60 chars).
                        type: string
                      description:
                        description: Optional payment description (max 1000 chars).
                        type: string
                      external_id:
                        description: Optional caller-supplied external reference id.
                        type: string
                    required:
                      - payee_riseid
                      - amount
                      - salt
                      - timestamp
              required:
                - company_id
                - pay_intents
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        payHash:
                          type: string
                        amountUSD:
                          type: string
                        paySchedule:
                          type: string
                        approvedPayDate:
                          type: string
                        saltWeekOrSchedule:
                          type: string
                        company:
                          anyOf:
                            - type: string
                            - type: number
                        payee:
                          anyOf:
                            - type: string
                            - type: number
                        status:
                          type: string
                          enum:
                            - ready
                        created_at:
                          type: string
                        updated_at:
                          type: string
                        uid:
                          type: string
                      required:
                        - id
                        - payHash
                        - amountUSD
                        - paySchedule
                        - approvedPayDate
                        - saltWeekOrSchedule
                        - company
                        - payee
                        - status
                        - created_at
                        - updated_at
                        - uid
                      additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "409":
          description: Conflict - a payment group or payment with the same salt already
            exists
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Conflict - a payment group or payment with the same salt already
                  exists
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
  /v1/payments:
    get:
      summary: List payments (V1 Legacy)
      tags:
        - Payments
      description: V1-compatible endpoint to list/paginate payments for a company/team.
      parameters:
        - schema:
            anyOf:
              - type: string
              - type: number
          in: query
          name: company_id
          required: true
          description: Numeric id, RiseID address, or team nanoid of the paying
            company/team.
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
          in: query
          name: external_ids
          required: false
          description: Filter by one or more caller-supplied external ids.
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
          in: query
          name: payee_ids
          required: false
          description: Filter by one or more payee RiseIDs/addresses/nanoids.
        - schema:
            anyOf:
              - type: string
              - type: number
          in: query
          name: page
          required: false
          description: 1-indexed page number (default 1).
        - schema:
            anyOf:
              - type: string
              - type: number
          in: query
          name: count
          required: false
          description: Page size, 1-1000 (default 100).
        - schema:
            type: string
          in: query
          name: status
          required: false
          description: Filter by status — a V1 status, 'all', or a V2 state name (e.g.
            'intent').
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        amount_usd:
                          type: string
                        approved_pay_date:
                          type: string
                          nullable: true
                        pay_hash:
                          type: string
                          nullable: true
                        salt:
                          type: string
                          nullable: true
                        status:
                          type: string
                        external_id:
                          type: string
                          nullable: true
                        transaction_hash:
                          type: string
                          nullable: true
                        payee:
                          type: object
                          properties:
                            id:
                              anyOf:
                                - type: string
                                - type: number
                              nullable: true
                            avatar:
                              type: string
                              nullable: true
                            email:
                              type: string
                              nullable: true
                            name:
                              type: string
                              nullable: true
                            address:
                              type: string
                              nullable: true
                          required:
                            - id
                            - avatar
                            - email
                            - name
                            - address
                          additionalProperties: false
                      required:
                        - amount_usd
                        - approved_pay_date
                        - pay_hash
                        - salt
                        - status
                        - external_id
                        - transaction_hash
                        - payee
                      additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
  /v1/teams:
    get:
      summary: List teams (V1 Legacy)
      tags:
        - Teams
      description: V1-compatible endpoint to list the authenticated user's teams.
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        address1:
                          type: string
                          nullable: true
                        address2:
                          type: string
                          nullable: true
                        avatar:
                          type: string
                          nullable: true
                        city:
                          type: string
                          nullable: true
                        colors:
                          type: string
                          nullable: true
                        country:
                          type: string
                          nullable: true
                        created_at:
                          type: string
                        hasAMLCheck:
                          type: boolean
                          nullable: true
                        id:
                          anyOf:
                            - type: string
                            - type: number
                        incorporationState:
                          type: string
                          nullable: true
                        incorporationType:
                          type: string
                          nullable: true
                        name:
                          type: string
                        owner:
                          anyOf:
                            - type: string
                            - type: number
                          nullable: true
                        phone:
                          type: string
                          nullable: true
                        riseId:
                          type: string
                          nullable: true
                        state:
                          type: string
                          nullable: true
                        tax_id:
                          type: string
                          nullable: true
                        updated_at:
                          type: string
                        usWork:
                          type: number
                          nullable: true
                        website:
                          type: string
                          nullable: true
                        zip:
                          type: string
                          nullable: true
                      required:
                        - address1
                        - address2
                        - avatar
                        - city
                        - colors
                        - country
                        - created_at
                        - hasAMLCheck
                        - id
                        - incorporationState
                        - incorporationType
                        - name
                        - owner
                        - phone
                        - riseId
                        - state
                        - tax_id
                        - updated_at
                        - usWork
                        - website
                        - zip
                      additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
  /v1/teams/{teamId}/talent:
    get:
      summary: List team talent (V1 Legacy)
      tags:
        - Teams
      description: V1-compatible endpoint to list a team's contractors, optionally
        filtered by email and paginated.
      parameters:
        - schema:
            type: string
          in: query
          name: email
          required: false
          description: Filter talent by email.
        - schema:
            type: string
          in: query
          name: page
          required: false
          description: 1-indexed page number.
        - schema:
            type: string
          in: query
          name: offset
          required: false
          description: Row offset (alternative to page).
        - schema:
            type: string
          in: query
          name: count
          required: false
          description: Page size, 1-500 (default 100). Pagination only activates when page
            or offset is set.
        - schema:
            type: string
          in: path
          name: teamId
          required: true
          description: Numeric id, address, or team nanoid.
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        address1:
                          type: string
                          nullable: true
                        address2:
                          type: string
                          nullable: true
                        alias:
                          type: string
                          nullable: true
                        avatar:
                          type: string
                          nullable: true
                        birthdate:
                          type: string
                          nullable: true
                        city:
                          type: string
                          nullable: true
                        colors:
                          type: string
                          nullable: true
                        company:
                          description: Present only when the talent owns a company (V1 PC.owner = U.id).
                          type: object
                          properties:
                            address1:
                              type: string
                              nullable: true
                            address2:
                              type: string
                              nullable: true
                            avatar:
                              type: string
                              nullable: true
                            city:
                              type: string
                              nullable: true
                            colors:
                              type: string
                              nullable: true
                            country:
                              type: string
                              nullable: true
                            created_at:
                              type: string
                            hasAMLCheck:
                              type: boolean
                              nullable: true
                            id:
                              anyOf:
                                - type: string
                                - type: number
                            incorporationState:
                              type: string
                              nullable: true
                            incorporationType:
                              type: string
                              nullable: true
                            name:
                              type: string
                            owner:
                              anyOf:
                                - type: string
                                - type: number
                              nullable: true
                            phone:
                              type: string
                              nullable: true
                            riseId:
                              type: string
                              nullable: true
                            state:
                              type: string
                              nullable: true
                            tax_id:
                              type: string
                              nullable: true
                            updated_at:
                              type: string
                            usWork:
                              type: number
                              nullable: true
                            website:
                              type: string
                              nullable: true
                            zip:
                              type: string
                              nullable: true
                          required:
                            - address1
                            - address2
                            - avatar
                            - city
                            - colors
                            - country
                            - created_at
                            - hasAMLCheck
                            - id
                            - incorporationState
                            - incorporationType
                            - name
                            - owner
                            - phone
                            - riseId
                            - state
                            - tax_id
                            - updated_at
                            - usWork
                            - website
                            - zip
                          additionalProperties: false
                        country:
                          type: string
                          nullable: true
                        created_at:
                          type: string
                        email:
                          type: string
                        external_reference_id:
                          type: string
                          nullable: true
                        firstname:
                          type: string
                          nullable: true
                        hasKYC:
                          type: number
                          nullable: true
                        hasPSASigned:
                          type: boolean
                        id:
                          anyOf:
                            - type: string
                            - type: number
                        lastname:
                          type: string
                          nullable: true
                        linkedin:
                          type: string
                          nullable: true
                        middlename:
                          type: string
                          nullable: true
                        nanoid:
                          type: string
                        phone:
                          type: string
                          nullable: true
                        registrationType:
                          type: string
                          nullable: true
                        riseId:
                          type: string
                          nullable: true
                        role:
                          type: string
                        state:
                          type: string
                          nullable: true
                        taxIdLast4:
                          type: string
                          nullable: true
                        timezone:
                          type: string
                          nullable: true
                        updated_at:
                          type: string
                        usWork:
                          type: number
                          nullable: true
                        website:
                          type: string
                          nullable: true
                        zip:
                          type: string
                          nullable: true
                      required:
                        - address1
                        - address2
                        - alias
                        - avatar
                        - birthdate
                        - city
                        - colors
                        - country
                        - created_at
                        - email
                        - external_reference_id
                        - firstname
                        - hasKYC
                        - hasPSASigned
                        - id
                        - lastname
                        - linkedin
                        - middlename
                        - nanoid
                        - phone
                        - registrationType
                        - riseId
                        - role
                        - state
                        - taxIdLast4
                        - timezone
                        - updated_at
                        - usWork
                        - website
                        - zip
                      additionalProperties: false
                  pagination:
                    type: object
                    properties:
                      page:
                        type: number
                      count:
                        type: number
                      offset:
                        type: number
                      has_more:
                        type: boolean
                      next_page:
                        type: number
                        nullable: true
                      next_offset:
                        type: number
                        nullable: true
                    required:
                      - page
                      - count
                      - offset
                      - has_more
                      - next_page
                      - next_offset
                    additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
  /v1/teams/{teamId}/talent/{talentId}:
    get:
      summary: Get team talent (V1 Legacy)
      tags:
        - Teams
      description: V1-compatible endpoint to get a single talent record for a team.
      parameters:
        - schema:
            type: string
          in: path
          name: teamId
          required: true
          description: Numeric id, address, or team nanoid.
        - schema:
            type: string
          in: path
          name: talentId
          required: true
          description: Numeric id, address, or user nanoid.
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      address1:
                        type: string
                        nullable: true
                      address2:
                        type: string
                        nullable: true
                      alias:
                        type: string
                        nullable: true
                      avatar:
                        type: string
                        nullable: true
                      birthdate:
                        type: string
                        nullable: true
                      city:
                        type: string
                        nullable: true
                      colors:
                        type: string
                        nullable: true
                      company:
                        description: Present only when the talent owns a company (V1 PC.owner = U.id).
                        type: object
                        properties:
                          address1:
                            type: string
                            nullable: true
                          address2:
                            type: string
                            nullable: true
                          avatar:
                            type: string
                            nullable: true
                          city:
                            type: string
                            nullable: true
                          colors:
                            type: string
                            nullable: true
                          country:
                            type: string
                            nullable: true
                          created_at:
                            type: string
                          hasAMLCheck:
                            type: boolean
                            nullable: true
                          id:
                            anyOf:
                              - type: string
                              - type: number
                          incorporationState:
                            type: string
                            nullable: true
                          incorporationType:
                            type: string
                            nullable: true
                          name:
                            type: string
                          owner:
                            anyOf:
                              - type: string
                              - type: number
                            nullable: true
                          phone:
                            type: string
                            nullable: true
                          riseId:
                            type: string
                            nullable: true
                          state:
                            type: string
                            nullable: true
                          tax_id:
                            type: string
                            nullable: true
                          updated_at:
                            type: string
                          usWork:
                            type: number
                            nullable: true
                          website:
                            type: string
                            nullable: true
                          zip:
                            type: string
                            nullable: true
                        required:
                          - address1
                          - address2
                          - avatar
                          - city
                          - colors
                          - country
                          - created_at
                          - hasAMLCheck
                          - id
                          - incorporationState
                          - incorporationType
                          - name
                          - owner
                          - phone
                          - riseId
                          - state
                          - tax_id
                          - updated_at
                          - usWork
                          - website
                          - zip
                        additionalProperties: false
                      country:
                        type: string
                        nullable: true
                      created_at:
                        type: string
                      email:
                        type: string
                      external_reference_id:
                        type: string
                        nullable: true
                      firstname:
                        type: string
                        nullable: true
                      hasKYC:
                        type: number
                        nullable: true
                      hasPSASigned:
                        type: boolean
                      id:
                        anyOf:
                          - type: string
                          - type: number
                      lastname:
                        type: string
                        nullable: true
                      linkedin:
                        type: string
                        nullable: true
                      middlename:
                        type: string
                        nullable: true
                      nanoid:
                        type: string
                      phone:
                        type: string
                        nullable: true
                      registrationType:
                        type: string
                        nullable: true
                      riseId:
                        type: string
                        nullable: true
                      role:
                        type: string
                      state:
                        type: string
                        nullable: true
                      taxIdLast4:
                        type: string
                        nullable: true
                      timezone:
                        type: string
                        nullable: true
                      updated_at:
                        type: string
                      usWork:
                        type: number
                        nullable: true
                      website:
                        type: string
                        nullable: true
                      zip:
                        type: string
                        nullable: true
                    required:
                      - address1
                      - address2
                      - alias
                      - avatar
                      - birthdate
                      - city
                      - colors
                      - country
                      - created_at
                      - email
                      - external_reference_id
                      - firstname
                      - hasKYC
                      - hasPSASigned
                      - id
                      - lastname
                      - linkedin
                      - middlename
                      - nanoid
                      - phone
                      - registrationType
                      - riseId
                      - role
                      - state
                      - taxIdLast4
                      - timezone
                      - updated_at
                      - usWork
                      - website
                      - zip
                    additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
    delete:
      summary: Terminate team talent (V1 Legacy)
      tags:
        - Teams
      description: V1-compatible endpoint to remove a contractor from a team.
      parameters:
        - schema:
            type: string
          in: path
          name: teamId
          required: true
          description: Numeric id, address, or team nanoid.
        - schema:
            type: string
          in: path
          name: talentId
          required: true
          description: Numeric id, address, or user nanoid.
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: string
                    enum:
                      - ok
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
  /v1/riseid/{rise_id}/balance:
    get:
      summary: Get RiseID balance (V1 Legacy)
      tags:
        - RiseID & Balance
      description: V1-compatible endpoint to get the on-chain USD balance for a
        team/user/company RiseID.
      parameters:
        - schema:
            type: string
          in: path
          name: rise_id
          required: true
          description: Numeric id, address, or team/user/company nanoid.
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: string
                    description: Balance in the smallest on-chain unit, as a decimal string.
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
  /v1/invites:
    get:
      summary: List invites (V1 Legacy)
      tags:
        - Invites
      description: V1-compatible endpoint to list pending invites for a company/team.
      parameters:
        - schema:
            type: string
          in: query
          name: company_riseid
          required: false
          description: RiseID of the company/team.
        - schema:
            anyOf:
              - type: string
              - type: number
          in: query
          name: company_id
          required: false
          description: Numeric id of the company/team (alternative to company_riseid).
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        invite_id:
                          type: string
                        email:
                          type: string
                        alias:
                          type: string
                          nullable: true
                        invite_alternate_value:
                          type: string
                        converted:
                          type: boolean
                        role:
                          type: string
                        anonymous:
                          type: boolean
                        uuid:
                          type: string
                        avatar:
                          type: string
                          nullable: true
                        status:
                          type: string
                          enum:
                            - pending
                            - awaiting_invite_acceptance
                            - onboard_compliance_pending
                            - onboard_started
                      required:
                        - invite_id
                        - email
                        - alias
                        - invite_alternate_value
                        - converted
                        - role
                        - anonymous
                        - uuid
                        - avatar
                        - status
                      additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
    post:
      summary: Send invites (V1 Legacy)
      tags:
        - Invites
      description: V1-compatible endpoint to send contractor/client invites to a
        company/team.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                inviteList:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: object
                        properties:
                          email:
                            type: string
                          external_reference_id:
                            type: string
                        required:
                          - email
                  description: Emails to invite, either bare strings or {email,
                    external_reference_id}.
                anonymous:
                  description: Defaults to false.
                  type: boolean
                company_riseid:
                  description: RiseID of the company/team.
                  type: string
                company_id:
                  description: Numeric id of the company/team (alternative to company_riseid).
                  anyOf:
                    - type: string
                    - type: number
                role:
                  description: One of 'contractor' (default), 'client', 'aor_contractor',
                    'team_employee'.
                  type: string
              required:
                - inviteList
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      failed:
                        type: array
                        items:
                          type: object
                          properties:
                            invite:
                              type: string
                            error:
                              type: string
                          required:
                            - invite
                            - error
                          additionalProperties: false
                      countAdded:
                        type: number
                      invited:
                        type: array
                        items:
                          type: string
                    required:
                      - failed
                      - countAdded
                      - invited
                    additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
  /v1/invites/warmed:
    post:
      summary: Send warmed invites (V1 Legacy)
      tags:
        - Invites
      description: V1-compatible endpoint to send pre-filled (KYC-primed) invites, in
        light or full mode.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                light:
                  description: Light mode only requires name+email; defaults to false.
                  type: boolean
                users:
                  type: array
                  items:
                    type: object
                    properties:
                      sumsub_sharetoken:
                        type: string
                      role:
                        description: One of 'contractor', 'team_employee', 'aor_contractor'.
                        type: string
                      details:
                        type: object
                        properties:
                          email:
                            type: string
                          firstname:
                            type: string
                          lastname:
                            type: string
                          middlename:
                            type: string
                          dob:
                            type: string
                          tin:
                            type: string
                          external_reference_id:
                            type: string
                          sumsub_id:
                            type: string
                          registrationType:
                            type: string
                        required:
                          - email
                      address:
                        type: object
                        properties:
                          country:
                            type: string
                          city:
                            type: string
                          state:
                            type: string
                          address_line1:
                            type: string
                          address_line2:
                            type: string
                          zip:
                            type: string
                          timezone:
                            type: string
                      companyData:
                        type: object
                        properties:
                          name:
                            type: string
                          phone:
                            type: string
                          tax_id:
                            type: string
                    required:
                      - details
                company_riseid:
                  description: RiseID of the company/team.
                  type: string
                company_id:
                  description: Numeric id of the company/team (alternative to company_riseid).
                  anyOf:
                    - type: string
                    - type: number
                role:
                  description: One of 'contractor' (default), 'team_employee', 'aor_contractor'.
                  type: string
              required:
                - users
      responses:
        "200":
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      failed:
                        type: array
                        items:
                          type: object
                          properties:
                            invite:
                              type: string
                            error:
                              type: string
                          required:
                            - invite
                            - error
                          additionalProperties: false
                      countAdded:
                        type: number
                      invited:
                        type: array
                        items:
                          type: string
                    required:
                      - failed
                      - countAdded
                      - invited
                    additionalProperties: false
                required:
                  - data
                additionalProperties: false
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Bad Request
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - invalid_parameters
                      errors:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: string
                    required:
                      - type
                      - errors
                    additionalProperties: false
                required:
                  - error
                  - message
                additionalProperties: false
                description: Bad Request - Invalid parameters
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Unauthorized
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Forbidden
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Not Found
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  data:
                    type: string
                  error_code:
                    type: string
                required:
                  - success
                  - data
                additionalProperties: false
                description: Internal Server Error
servers:
  - url: https://b2b-api.dev-riseworks.io
    description: Development
  - url: https://b2b-api.staging-riseworks.io
    description: Staging
  - url: https://b2b-api.riseworks.io
    description: Production