openapi: 3.0.2 info: title: Emburse Cards API version: 1.0.0 description: Emburse Cards API enables the creation and management of virtual and physical spending cards at scale for custom business solutions and third-party integrations. paths: /accounts: get: operationId: get_accounts description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/APIAccount' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Accounts /accounts/{id}: get: operationId: get_accounts_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIAccount' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Accounts /allowances/{id}: get: operationId: get_allowances_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIAllowance' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Allowances put: operationId: put_allowances_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/APIAllowance' responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIAllowance' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Allowances /cards: get: operationId: get_cards description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: assigned_to required: false in: query description: assigned_to schema: type: string - name: category required: false in: query description: category schema: type: string - name: department required: false in: query description: department schema: type: string - name: label required: false in: query description: label schema: type: string - name: location required: false in: query description: location schema: type: string - name: state required: false in: query description: 'Filter by card state. Accepts a comma-separated list of states. Valid values: active, unactivated, suspended, terminated.' schema: type: string example: active,suspended example: active,suspended - name: description required: false in: query description: description schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/APICard' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Cards post: operationId: post_cards description: '' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/APICard' responses: '201': content: application/json: schema: $ref: '#/components/schemas/APICard' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Cards /cards/{id}: get: operationId: get_cards_by_id description: APICardPAN model requires "has_pan_access" privileges. parameters: - name: id in: path required: true description: '' schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APICardPAN' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Cards put: operationId: put_cards_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: assigned_to required: false in: query description: assigned_to schema: type: string - name: category required: false in: query description: category schema: type: string - name: department required: false in: query description: department schema: type: string - name: label required: false in: query description: label schema: type: string - name: location required: false in: query description: location schema: type: string - name: state required: false in: query description: 'Filter by card state. Accepts a comma-separated list of states. Valid values: active, unactivated, suspended, terminated.' schema: type: string example: active,suspended example: active,suspended - name: description required: false in: query description: description schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/APICard' responses: '200': content: application/json: schema: $ref: '#/components/schemas/APICard' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Cards delete: operationId: delete_cards_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: assigned_to required: false in: query description: assigned_to schema: type: string - name: category required: false in: query description: category schema: type: string - name: department required: false in: query description: department schema: type: string - name: label required: false in: query description: label schema: type: string - name: location required: false in: query description: location schema: type: string - name: state required: false in: query description: 'Filter by card state. Accepts a comma-separated list of states. Valid values: active, unactivated, suspended, terminated.' schema: type: string example: active,suspended example: active,suspended - name: description required: false in: query description: description schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '204': description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Cards /cards/{id}/pan: get: operationId: get_cards_by_id_pan description: APICardPAN model requires "has_pan_access" privileges. parameters: - name: id in: path required: true description: '' schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APICardPAN' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Cards /members: get: operationId: get_members description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: email required: false in: query description: email schema: type: string - name: is_active required: false in: query description: is_active schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/APIMember' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Members post: operationId: post_members description: '' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/APIMember' responses: '201': content: application/json: schema: $ref: '#/components/schemas/APIMember' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Members /members/{id}: get: operationId: get_members_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: email required: false in: query description: email schema: type: string - name: is_active required: false in: query description: is_active schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIMember' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Members put: operationId: put_members_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: email required: false in: query description: email schema: type: string - name: is_active required: false in: query description: is_active schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/APIMember' responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIMember' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Members delete: operationId: delete_members_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: email required: false in: query description: email schema: type: string - name: is_active required: false in: query description: is_active schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '204': description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Members /transactions: get: operationId: get_transactions description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: card required: false in: query description: card schema: type: string - name: member required: false in: query description: member schema: type: string - name: category required: false in: query description: category schema: type: string - name: department required: false in: query description: department schema: type: string - name: location required: false in: query description: location schema: type: string - name: label required: false in: query description: label schema: type: string - name: before required: false in: query description: before schema: type: string - name: after required: false in: query description: after schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: exclude_declines required: false in: query description: exclude_declines schema: type: string - name: exclude_verifications required: false in: query description: exclude_verifications schema: type: string - name: ordering in: query required: false description: Order results by field. Prefix with - for descending order. schema: type: string enum: - created_at - -created_at - time - -time responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/APITransaction' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Transactions /transactions/{id}: get: operationId: get_transactions_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: card required: false in: query description: card schema: type: string - name: member required: false in: query description: member schema: type: string - name: category required: false in: query description: category schema: type: string - name: department required: false in: query description: department schema: type: string - name: location required: false in: query description: location schema: type: string - name: label required: false in: query description: label schema: type: string - name: before required: false in: query description: before schema: type: string - name: after required: false in: query description: after schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: exclude_declines required: false in: query description: exclude_declines schema: type: string - name: exclude_verifications required: false in: query description: exclude_verifications schema: type: string - name: ordering in: query required: false description: Order results by field. Prefix with - for descending order. schema: type: string enum: - created_at - -created_at - time - -time responses: '200': content: application/json: schema: $ref: '#/components/schemas/APITransaction' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Transactions put: operationId: put_transactions_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: card required: false in: query description: card schema: type: string - name: member required: false in: query description: member schema: type: string - name: category required: false in: query description: category schema: type: string - name: department required: false in: query description: department schema: type: string - name: location required: false in: query description: location schema: type: string - name: label required: false in: query description: label schema: type: string - name: before required: false in: query description: before schema: type: string - name: after required: false in: query description: after schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: exclude_declines required: false in: query description: exclude_declines schema: type: string - name: exclude_verifications required: false in: query description: exclude_verifications schema: type: string - name: ordering in: query required: false description: Order results by field. Prefix with - for descending order. schema: type: string enum: - created_at - -created_at - time - -time requestBody: content: application/json: schema: $ref: '#/components/schemas/APITransaction' responses: '200': content: application/json: schema: $ref: '#/components/schemas/APITransaction' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Transactions /shipping-addresses: get: operationId: get_shipping_addresses description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/APIShippingAddress' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shipping Addresses post: operationId: post_shipping_addresses description: '' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/APIShippingAddress' responses: '201': content: application/json: schema: $ref: '#/components/schemas/APIShippingAddress' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shipping Addresses /shipping-addresses/{id}: get: operationId: get_shipping_addresses_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIShippingAddress' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shipping Addresses put: operationId: put_shipping_addresses_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/APIShippingAddress' responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIShippingAddress' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shipping Addresses delete: operationId: delete_shipping_addresses_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '204': description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shipping Addresses /categories: get: operationId: get_categories description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Categories post: operationId: post_categories description: '' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/_Segment' responses: '201': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Categories /categories/{id}: get: operationId: get_categories_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Categories put: operationId: put_categories_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/_Segment' responses: '200': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Categories delete: operationId: delete_categories_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '204': description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Categories /departments: get: operationId: get_departments description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Departments post: operationId: post_departments description: '' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/_Segment' responses: '201': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Departments /departments/{id}: get: operationId: get_departments_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Departments put: operationId: put_departments_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/_Segment' responses: '200': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Departments delete: operationId: delete_departments_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '204': description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Departments /labels: get: operationId: get_labels description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Labels post: operationId: post_labels description: '' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/_Segment' responses: '201': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Labels /labels/{id}: get: operationId: get_labels_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Labels put: operationId: put_labels_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/_Segment' responses: '200': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Labels delete: operationId: delete_labels_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '204': description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Labels /locations: get: operationId: get_locations description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Locations post: operationId: post_locations description: '' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/_Segment' responses: '201': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Locations /locations/{id}: get: operationId: get_locations_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Locations put: operationId: put_locations_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/_Segment' responses: '200': content: application/json: schema: $ref: '#/components/schemas/_Segment' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Locations delete: operationId: delete_locations_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: is_archived required: false in: query description: is_archived schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '204': description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Locations /company: get: operationId: get_company description: Show company instance instead of listing companies. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/APICompany' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Company /company/{id}: get: operationId: get_company_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APICompany' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Company /shared-links: get: operationId: get_shared_links description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: card required: false in: query description: card schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/APISharedLink' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shared Links post: operationId: post_shared_links description: '' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/APISharedLink' responses: '201': content: application/json: schema: $ref: '#/components/schemas/APISharedLink' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shared Links /shared-links/{id}: get: operationId: get_shared_links_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: card required: false in: query description: card schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APISharedLink' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shared Links put: operationId: put_shared_links_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: card required: false in: query description: card schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/APISharedLink' responses: '200': content: application/json: schema: $ref: '#/components/schemas/APISharedLink' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shared Links delete: operationId: delete_shared_links_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: card required: false in: query description: card schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '204': description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Shared Links /requisitions: get: operationId: get_requisitions description: '' parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: card required: false in: query description: card schema: type: string - name: ends_before required: false in: query description: ends_before schema: type: string - name: has_balance required: false in: query description: has_balance schema: type: string - name: member required: false in: query description: member schema: type: string - name: starts_after required: false in: query description: starts_after schema: type: string - name: status required: false in: query description: status schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/APIRequisition' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Requisitions post: operationId: post_requisitions description: '' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/APIRequisition' responses: '201': content: application/json: schema: $ref: '#/components/schemas/APIRequisition' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Requisitions /requisitions/{id}: get: operationId: get_requisitions_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: card required: false in: query description: card schema: type: string - name: ends_before required: false in: query description: ends_before schema: type: string - name: has_balance required: false in: query description: has_balance schema: type: string - name: member required: false in: query description: member schema: type: string - name: starts_after required: false in: query description: starts_after schema: type: string - name: status required: false in: query description: status schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIRequisition' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Requisitions put: operationId: put_requisitions_by_id description: Always perform a partial update. parameters: - name: id in: path required: true description: '' schema: type: string - name: card required: false in: query description: card schema: type: string - name: ends_before required: false in: query description: ends_before schema: type: string - name: has_balance required: false in: query description: has_balance schema: type: string - name: member required: false in: query description: member schema: type: string - name: starts_after required: false in: query description: starts_after schema: type: string - name: status required: false in: query description: status schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/APIRequisition' responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIRequisition' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Requisitions delete: operationId: delete_requisitions_by_id description: '' parameters: - name: id in: path required: true description: '' schema: type: string - name: card required: false in: query description: card schema: type: string - name: ends_before required: false in: query description: ends_before schema: type: string - name: has_balance required: false in: query description: has_balance schema: type: string - name: member required: false in: query description: member schema: type: string - name: starts_after required: false in: query description: starts_after schema: type: string - name: status required: false in: query description: status schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '204': description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Requisitions /accounts/{account_pk}/statement-lines: get: operationId: get_accounts_by_account_pk_statement_lines description: '' parameters: - name: account_pk in: path required: true description: '' schema: type: string - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: number required: false in: query description: number schema: type: string - name: number__lt required: false in: query description: number__lt schema: type: string - name: number__gt required: false in: query description: number__gt schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: start_date required: false in: query description: start date schema: type: string - name: end_date required: false in: query description: end date schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/APIStatementLine' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Accounts /accounts/{account_pk}/statement-lines/{id}: get: operationId: get_accounts_by_account_pk_statement_lines_by_id description: '' parameters: - name: account_pk in: path required: true description: '' schema: type: string - name: id in: path required: true description: '' schema: type: string - name: number required: false in: query description: number schema: type: string - name: number__lt required: false in: query description: number__lt schema: type: string - name: number__gt required: false in: query description: number__gt schema: type: string - name: created_before required: false in: query description: created_before schema: type: string - name: created_after required: false in: query description: created_after schema: type: string - name: start_date required: false in: query description: start date schema: type: string - name: end_date required: false in: query description: end date schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/APIStatementLine' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Accounts /merchant-categories: get: operationId: get_merchant_categories description: 'List accepted merchant categories - internal endpoint for Cards Gateway For groups we add a stringified display of mcc included' parameters: [] responses: '200': description: 'List of accepted merchant category codes (MCC). Each item is a 3-element array: [id, name, mcc_ranges_string].' content: application/json: schema: type: array items: type: array description: 'A 3-element array: [0] id — MCC group or code identifier; [1] name — human-readable label; [2] mcc_ranges — stringified MCC ranges (e.g. "1-3, 5, 8-10"), empty string for individual codes.' items: type: string minItems: 3 maxItems: 3 '401': description: Unauthorized - Invalid or missing authentication token. tags: - Merchant Categories /oauth/token/challenge: get: operationId: get_oauth_token_challenge description: Handle MFA challenges. parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer responses: '200': content: application/json: schema: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/Answer' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Oauth post: operationId: post_oauth_token_challenge description: Handle MFA challenges. parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/Answer' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Answer' multipart/form-data: schema: $ref: '#/components/schemas/Answer' responses: '201': content: application/json: schema: $ref: '#/components/schemas/Answer' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Oauth /members/{member_pk}/terms-of-service: post: operationId: post_members_by_member_pk_terms_of_service description: Handle duplicate `TosAgreement` creation. parameters: - name: member_pk in: path required: true description: '' schema: type: string requestBody: content: application/json: schema: {} responses: '201': content: application/json: schema: {} description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Members /oauth/token: post: operationId: post_oauth_token description: Issue access tokens. parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: {} application/json: schema: {} responses: '201': content: application/json: schema: {} description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Oauth /oauth/token/revoke: post: operationId: post_oauth_token_revoke description: Revoke access token. parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RevokeToken' application/json: schema: $ref: '#/components/schemas/RevokeToken' responses: '201': content: application/json: schema: $ref: '#/components/schemas/RevokeToken' description: '' '400': description: Bad Request - Invalid arguments or malformed request '401': description: Unauthorized - Invalid or missing authentication token '403': description: Forbidden - Insufficient permissions for this operation '404': description: Not Found - Resource does not exist '409': description: Conflict - Request conflicts with existing data '429': description: Too Many Requests - Rate limit exceeded '500': description: Internal Server Error tags: - Oauth components: schemas: APIAccount: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true name: type: string readOnly: true number: type: string readOnly: true ledger_balance: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: -100000000000000 readOnly: true available_balance: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: -100000000000000 readOnly: true currency_code: type: string readOnly: true minimum_balance: type: string readOnly: true available_credit: type: string readOnly: true pending_credits: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: -100000000000000 readOnly: true credit_limit: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: -100000000000000 readOnly: true funding_source: type: object properties: description: type: string readOnly: true maxLength: 255 name: type: string readOnly: true maxLength: 255 number: type: string readOnly: true is_verified: type: boolean readOnly: true required: - description - name readOnly: true created_at: type: string format: date-time readOnly: true required: - currency_code - funding_source - created_at APIAllowance: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true interval: type: string nullable: true amount: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: 0.0 transaction_limit: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: 0.0 nullable: true daily_limit: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: 0.01 nullable: true single_use: type: boolean start_time: type: string format: date-time nullable: true end_time: type: string format: date-time nullable: true scope: type: array items: type: integer maximum: 9223372036854775807 minimum: 1 format: int64 maxItems: 10 balance: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: -100000000000000 readOnly: true reset: type: boolean writeOnly: true created_at: type: string format: date-time readOnly: true increment: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: 0.0 writeOnly: true required: - balance - created_at APICard: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true description: type: string name: type: string readOnly: true product: type: object properties: id: type: string format: uuid writeOnly: true nullable: true is_virtual: type: boolean last_four: type: string readOnly: true pattern: ^[0-9]{4}$ maxLength: 4 state: type: string suspension_reason: type: string nullable: true assigned_to: type: object properties: id: type: string format: uuid url: type: string readOnly: true email: type: string readOnly: true code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 first_name: type: string readOnly: true maxLength: 255 last_name: type: string readOnly: true maxLength: 255 required: - first_name - last_name nullable: true category: type: object properties: id: type: string format: uuid name: type: string readOnly: true maxLength: 255 code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: {} readOnly: true is_archived: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - parent nullable: true department: type: object properties: id: type: string format: uuid name: type: string readOnly: true maxLength: 255 code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: {} readOnly: true is_archived: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - parent nullable: true location: type: object properties: id: type: string format: uuid name: type: string readOnly: true maxLength: 255 code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: {} readOnly: true is_archived: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - parent nullable: true label: type: object properties: id: type: string format: uuid name: type: string readOnly: true maxLength: 255 code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: {} readOnly: true is_archived: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - parent nullable: true allowance: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true interval: type: string nullable: true amount: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: 0.0 transaction_limit: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: 0.0 nullable: true daily_limit: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: 0.01 nullable: true single_use: type: boolean start_time: type: string format: date-time nullable: true end_time: type: string format: date-time nullable: true scope: type: array items: type: integer maximum: 9223372036854775807 minimum: 1 format: int64 maxItems: 10 balance: type: number multipleOf: 0.01 maximum: 100000000000000 minimum: -100000000000000 readOnly: true required: - balance expiration: type: string format: date readOnly: true billing_name: type: string billing_address: type: string nullable: true shipping_address: type: string nullable: true shipping: type: object properties: address: type: object properties: attn: type: string address_1: type: string address_2: type: string city: type: string state: type: string postal_code: type: string country: type: string required: - address_1 - postal_code - country nullable: true carrier: enum: - fedex - usps - royal_mail - dhl type: string readOnly: true eta: type: string format: date-time readOnly: true name: type: string readOnly: true order_size: enum: - individual - bulk type: string phone_number: type: string nullable: true require_signature: type: boolean service: enum: - standard - express - priority type: string status: enum: - pending - shipped - delivered - returned - failure - canceled type: string readOnly: true tracking_number: type: string readOnly: true tracking_url: type: string readOnly: true required: - address nullable: true created_at: type: string format: date-time readOnly: true network: type: string readOnly: true nullable: true required: - description - is_virtual - last_four - allowance - expiration - created_at APICardPAN: type: object properties: pan: type: string readOnly: true cvv: type: string readOnly: true APIMember: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true email: type: string format: email first_name: type: string maxLength: 255 last_name: type: string maxLength: 255 role: type: string code: type: string nullable: true pattern: ^[0-9A-z\.\-]+$ minLength: 1 maxLength: 36 created_at: type: string format: date-time readOnly: true is_active: type: boolean phone_number: type: string nullable: true requires_terms_agreement: type: string readOnly: true required: - email - first_name - last_name - created_at APITransaction: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true amount: type: string readOnly: true currency_code: type: string readOnly: true nullable: true maxLength: 4 foreign_amount: type: string readOnly: true foreign_currency_code: type: string readOnly: true nullable: true maxLength: 3 state: type: string readOnly: true response_code: type: string readOnly: true merchant: type: string readOnly: true vendor: type: string readOnly: true bank_account: type: string readOnly: true card: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true state: type: string readOnly: true description: type: string readOnly: true maxLength: 255 last_four: type: string readOnly: true pattern: ^[0-9]{4}$ maxLength: 4 required: - description - last_four readOnly: true is_online: type: boolean readOnly: true member: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true email: type: string readOnly: true code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 first_name: type: string readOnly: true maxLength: 255 last_name: type: string readOnly: true maxLength: 255 required: - first_name - last_name readOnly: true category: type: object properties: id: type: string format: uuid name: type: string readOnly: true maxLength: 255 code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: {} readOnly: true is_archived: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - parent nullable: true department: type: object properties: id: type: string format: uuid name: type: string readOnly: true maxLength: 255 code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: {} readOnly: true is_archived: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - parent nullable: true label: type: object properties: id: type: string format: uuid name: type: string readOnly: true maxLength: 255 code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: {} readOnly: true is_archived: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - parent nullable: true location: type: object properties: id: type: string format: uuid name: type: string readOnly: true maxLength: 255 code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: {} readOnly: true is_archived: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - parent nullable: true note: type: string maxLength: 1000 receipt: type: string readOnly: true attachments: type: string readOnly: true time: type: string format: date-time readOnly: true created_at: type: string format: date-time readOnly: true posted_at: type: string format: date-time readOnly: true review_status: enum: - pending - approved - denied - out_of_policy - exempt type: string readOnly: true nullable: true requisition: type: string readOnly: true nullable: true type: type: string readOnly: true purchase_details: type: object readOnly: true required: - time - created_at - posted_at - purchase_details APIShippingAddress: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true address_1: type: string maxLength: 255 address_2: type: string default: '' city: type: string maxLength: 255 state: type: string maxLength: 255 country: type: string default: US maxLength: 2 postal_code: type: string zip_code: type: string created_at: type: string format: date-time readOnly: true required: - address_1 - created_at _Segment: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 255 code: type: string nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: id: type: string format: uuid name: type: string readOnly: true maxLength: 255 code: type: string readOnly: true nullable: true pattern: ^[0-9A-z\.\-]+$ maxLength: 36 minLength: 1 parent: type: object properties: {} readOnly: true is_archived: type: boolean readOnly: true created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - parent nullable: true is_archived: type: boolean created_at: type: string format: date-time readOnly: true url: type: string readOnly: true required: - name - created_at APICompany: type: object properties: id: type: string format: uuid readOnly: true billing_address: type: object properties: address_1: type: string address_2: type: string city: type: string state: type: string postal_code: type: string zip_code: type: string country: type: string required: - address_1 - address_2 - city - state - postal_code - zip_code - country readOnly: true created_at: type: string format: date-time readOnly: true name: type: string readOnly: true maxLength: 255 partner: type: object properties: id: type: string format: uuid readOnly: true token: type: string readOnly: true pattern: ^[\w-]+$ maxLength: 255 brand_name: type: string readOnly: true maxLength: 255 required: - token - brand_name readOnly: true shipping_address: type: object properties: id: type: string format: uuid readOnly: true url: type: string readOnly: true address_1: type: string readOnly: true maxLength: 255 address_2: type: string readOnly: true default: '' city: type: string readOnly: true maxLength: 255 state: type: string readOnly: true maxLength: 255 zip_code: type: string readOnly: true required: - address_1 readOnly: true status: type: string readOnly: true website: type: string format: uri readOnly: true maxLength: 200 pattern: "^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\\ .(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\\ ]|([a-z¡-\uFFFF0-9](?:[a-z¡-\uFFFF0-9-]{0,61}[a-z¡-\uFFFF0-9])?(?:\\.(?!-)[a-z¡-\uFFFF\ 0-9-]{1,63}(?