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

# Create commission

> Creates a Commission.



## OpenAPI

````yaml /api-reference/openapi.yaml post /commissions
openapi: 3.0.1
info:
  title: Nocotax API
  version: v1
servers:
  - url: https://api.nocotax.app/
    variables:
      protocol:
        default: https
      defaultHost:
        default: api.nocotax.app/
security:
  - basic_auth: []
tags:
  - name: Introduction
    x-traitTag: true
    description: >
      The Nocotax API is organized around REST. Our API is designed to have 

      predictable, resource-oriented URLs and to use HTTP response codes to 

      indicate API errors. We use built-in HTTP features, like HTTP verbs, 

      which can be understood by off-the-shelf HTTP clients.


      JSON will be returned in all responses from the API, including errors.


      To make the Nocotax API as secure as possible. Authentication is
      performed 

      through HTTP Basic Auth. Credentials can be found on your Nocotax 

      developers menu, in the "API Keys" section.
  - name: Authentication
    x-traitTag: true
    description: >
      Authentication to the API occurs via HTTP Basic Auth.

      Provide your Account ID as the basic auth username, and the API secret key
      as the password.


      All API requests must be made over HTTPS. Calls made over plain HTTP will
      fail.

      You must authenticate for all requests.


      You can manage your API keys from your account.

      Your API keys carry many privileges, so be sure to keep them secret!
  - name: Errors
    x-traitTag: true
    description: >
      Nocotax uses conventional HTTP response codes to indicate success or
      failure of an API request.


      In general, codes in the 2xx range indicate success,

      codes in the 4xx range indicate an error that resulted from the provided
      information

      (e.g. a required parameter was missing), and codes in the 5xx range
      indicate an error with our servers.


      ```
        HTTP status codes summary
        
        200 OK - Everything worked as expected.
        201 Created - Resource has been successfully created
        202 Accepted - Request has been accepted, but requires asynchronous work to be fully performed

        400 Bad Request - Request failed due to a combination of errors
        401 Unauthorized - No valid API credentials provided.
        402 Payment Required - Your request was in livemode while your account is not activated for live requests yet.
        403 Forbidden - You are not authorized to access the requested item.
        404 Not Found - The requested item doesn't exist.
        406 Unacceptable - Your request format was not supported. Use JSON.
        409 Conflict - The data you submitted is in conflict with existing data.
        422 Unprocessable Entity - Often missing a required parameter.
        429 Too Many Requests - You sent us too many API requests in a row. Please retry later.
        
        500, 502, 503, 504 Server errors - something went wrong on our end.
      ```
  - name: Pagination
    x-traitTag: true
    description: >
      All top-level API resources have support for bulk fetches “list” API
      methods.

      For instance, you can list organization, list invoices.


      We use cursor-based pagination using the parameter `after`.

      Pass `after` parameter at the previous page last object id value to
      determine where to start in the list.


      Reverse pagination is possible as well thanks to the `before` parameter.


      ## Attributes

      <table>
        <tr><th>Attribute</th><th>Type</th></tr>
        <tr><td><strong>limit</strong></td><td>integer, optional A limit on the number of objects to be returned. Must be included between 1 and 100</td>
        <tr><td><strong>after</strong></td><td>string, optional A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `after=obj_foo` in order to fetch the next page of the list.</td>
        <tr><td><strong>before</strong></td><td>string, optional A cursor for use in pagination. `before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `before=obj_bar` in order to fetch the previous page of the list.</td>
      </table>


      ### List Response format

      <table>
        <tr><th>Attribute</th><th>Type</th></tr>
        <tr><td><strong>object</strong></td><td>string, value is `list`</td></tr>
        <tr><td><strong>data</strong></td><td>array, An array containing the actual response elements, paginated by any request parameters.</td></tr>
        <tr><td><strong>has_before</strong></td><td>boolean, Whether or not there are more elements available before this page. If `false`, this page is the beginning of the list.</td></tr>
        <tr><td><strong>has_more</strong></td><td>boolean, Whether or not there are more elements available after this page. If `false`, this page is the end of the list</td></tr>
      </table>
paths:
  /commissions:
    post:
      tags:
        - Commissions
      summary: Create commission
      description: Creates a Commission.
      operationId: CommissionsCreate
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  description: >-
                    The amount of the commission, in the currency's smaller unit
                    (eg. cents).
                currency:
                  type: string
                  description: The currency ISO code of the commission
                customer_id:
                  type: string
                  description: >-
                    The ID of the organization for which this commission will be
                    billed. It must have a billing schedule attached
                tax_inclusive:
                  type: boolean
                  description: Whether the `amount` is tax inclusive or not
              required:
                - amount
                - currency
                - customer_id
                - tax_inclusive
      responses:
        '201':
          description: successful
          content:
            application/json:
              example:
                id: com_1792060733e5e53d1648c9
                livemode: false
                object: commission
                amount: 1000
                billing_schedule_id: bs_1792060732guj6aba8bec9
                cancelled: false
                customer_id: org_1792060732fvcj0d6b9540
                currency: EUR
                document_id: null
                supplier_id: org_1792060732f3x4f57be596
                status: pending
                tax_inclusive: true
                created_at: '2026-10-15T10:38:53.720Z'
                updated_at: '2026-10-15T10:38:53.720Z'
              schema:
                $ref: '#/components/schemas/commission'
        default:
          description: Error Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
components:
  schemas:
    commission:
      type: object
      description: >-
        A billing cycle defines how and when commissions or purchase orders are
        aggregated and invoices are generated. You can subscribe multiple
        suppliers and customers to a given billing cycle
      properties:
        id:
          type: string
        livemode:
          type: boolean
        object:
          type: string
          enum:
            - commission
        amount:
          type: integer
          description: >-
            The amount of the commission, in the currency's smaller unit (eg.
            cents).
        billing_schedule_id:
          type: string
          description: The ID of the `billing_schedule` this commission is part of
        currency:
          type: string
          description: The currency ISO code of the commission
        customer_id:
          type: string
          description: The ID of the organization to which this commission is billed
        document_id:
          type: string
          description: >-
            The ID of the invoice or the credit note this commission is part of.
            Null if the commission has not been billed yet. See `status` for
            more information
          nullable: true
        status:
          type: string
          description: The status of the commission
          enum:
            - pending
            - billed
        supplier_id:
          type: string
          description: The ID of the organization that bills this commission
        tax_inclusive:
          type: boolean
          description: Whether the `amount` is tax inclusive or not
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    errorResponse:
      type: object
      properties:
        message:
          type: string
        status:
          type: integer
        type:
          type: string
          enum:
            - INVALID_REQUEST_ERROR
        params:
          nullable: true
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              errors:
                type: array
                items:
                  type: string
  securitySchemes:
    basic_auth:
      type: http
      scheme: basic

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.