Candis Purchase Requests API

Read purchase request data.

OpenAPI Specification

candis-purchase-requests-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Candis Core Data Purchase Requests API
  description: Candis API for exporting approved invoices and postings, managing master core data (contacts, general ledger accounts, cost dimensions, delivery costs), and reading invoice, reimbursement item, and purchase request data. Reconstructed by the API Evangelist enrichment pipeline from the per-operation OpenAPI fragments embedded in the Candis ReadMe developer reference (developer.candis.io).
  version: 1.0.0
  contact:
    name: Candis
    url: https://developer.candis.io/
  x-apievangelist:
    method: searched
    source: Reconstructed from per-operation OpenAPI fragments published in the Candis developer reference (https://developer.candis.io/reference/*) via ReadMe; merged and filtered to Candis /v1/organizations operations by the API Evangelist enrichment pipeline.
    generated: '2026-07-18'
servers:
- url: https://api.candis.io
  description: Production
security:
- bearerAuth: []
tags:
- name: Purchase Requests
  description: Read purchase request data.
paths:
  /v1/organizations/{organizationId}/purchase-requests:
    get:
      operationId: listPurchaseRequests
      summary: List purchase requests of the organization
      parameters:
      - name: organizationId
        required: true
        in: path
        description: The organization ID.
        example: alpha-organization
        schema:
          type: string
      - name: offset
        required: false
        in: query
        description: The offset of the first element in the list.
        example: 0
        schema:
          minimum: 0
          default: 0
          type: number
      - name: limit
        required: false
        in: query
        description: The maximum number of elements to return.
        example: 50
        schema:
          minimum: 1
          default: 50
          type: number
      - name: sortField
        required: false
        in: query
        description: The field to sort by.
        example: CREATED_AT
        schema:
          default: CREATED_AT
          enum:
          - CREATED_AT
          - UPDATED_AT
          type: string
      - name: sortDirection
        required: false
        in: query
        description: The direction to sort by.
        example: ASC
        schema:
          default: ASC
          enum:
          - ASC
          - DESC
          type: string
      - name: status
        required: false
        in: query
        description: Filter by one or more purchase request statuses. Comma separated values.
        example: APPROVED
        schema:
          enum:
          - APPROVING
          - APPROVED
          - REJECTED
          - FULFILLED
          - PARTIALLY_FULFILLED
          - CANCELLED
          type: string
      - name: createdAtFrom
        required: false
        in: query
        description: From date and time when the purchase request was created.
        example: '2024-01-01T12:00:00.000Z'
        schema:
          type: string
      - name: createdAtTo
        required: false
        in: query
        description: To date and time when the purchase request was created.
        example: '2024-01-31T12:00:00.000Z'
        schema:
          type: string
      - name: updatedAtFrom
        required: false
        in: query
        description: From date and time when the purchase request was updated.
        example: '2024-01-01T12:00:00.000Z'
        schema:
          type: string
      - name: updatedAtTo
        required: false
        in: query
        description: To date and time when the purchase request was updated.
        example: '2024-01-31T12:00:00.000Z'
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  purchaseRequests:
                    description: Records of purchase requests.
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique identifier of the purchase request.
                          example: d851a73e-94d6-4f4b-babc-ef9314fc8184
                        status:
                          type: string
                          description: Current status of the purchase request.
                          example: APPROVED
                          enum:
                          - APPROVING
                          - APPROVED
                          - REJECTED
                          - FULFILLED
                          - PARTIALLY_FULFILLED
                          - CANCELLED
                        supplier:
                          description: Supplier contact details.
                          allOf:
                          - type: object
                            properties:
                              name:
                                type: string
                                description: Supplier name.
                                example: ACME Supplies GmbH
                              accountPayableNumber:
                                type: string
                                description: Supplier accounts payable number.
                                example: AP-1001
                              accountReceivableNumber:
                                type: string
                                description: Supplier accounts receivable number.
                                example: AR-1001
                            required:
                            - name
                        title:
                          type: string
                          description: Title of the purchase request.
                          example: Office Chairs
                        description:
                          type: string
                          description: Description of the purchase request.
                          example: Ergonomic chairs for the Berlin office
                        requestNumber:
                          type: string
                          description: Purchase request number.
                          example: PR-2024-001
                        grossAmount:
                          description: Gross amount.
                          allOf:
                          - type: object
                            properties:
                              value:
                                type: number
                                description: Amount value as decimal number.
                                example: 123.12
                              currencyCode:
                                type: string
                                description: ISO currency code.
                                example: EUR
                            required:
                            - value
                            - currencyCode
                        netAmount:
                          description: Net amount.
                          allOf:
                          - type: object
                            properties:
                              value:
                                type: number
                                description: Amount value as decimal number.
                                example: 123.12
                              currencyCode:
                                type: string
                                description: ISO currency code.
                                example: EUR
                            required:
                            - value
                            - currencyCode
                        deliveryDate:
                          type: string
                          description: Delivery date as ISO 8601 datetime string.
                          example: '2022-09-15T22:00:00.000Z'
                        notes:
                          type: string
                          description: Additional notes for the purchase request.
                          example: Please prioritize delivery this week.
                        costCenter:
                          description: Cost center.
                          allOf:
                          - type: object
                            properties:
                              code:
                                type: string
                                description: Cost dimension code.
                                example: CC-1000
                              name:
                                type: string
                                description: Cost dimension name.
                                example: Operations
                            required:
                            - code
                        costObject:
                          description: Cost object.
                          allOf:
                          - type: object
                            properties:
                              code:
                                type: string
                                description: Cost dimension code.
                                example: CC-1000
                              name:
                                type: string
                                description: Cost dimension name.
                                example: Operations
                            required:
                            - code
                        generalLedgerAccount:
                          description: General ledger account.
                          allOf:
                          - type: object
                            properties:
                              code:
                                type: string
                                description: Cost dimension code.
                                example: CC-1000
                              name:
                                type: string
                                description: Cost dimension name.
                                example: Operations
                            required:
                            - code
                        extraCostInfo:
                          description: Extra cost info.
                          allOf:
                          - type: object
                            properties:
                              code:
                                type: string
                                description: Cost dimension code.
                                example: CC-1000
                              name:
                                type: string
                                description: Cost dimension name.
                                example: Operations
                            required:
                            - code
                        customCategory:
                          description: Custom category.
                          allOf:
                          - type: object
                            properties:
                              id:
                                type: string
                                description: Custom category identifier.
                                example: cat-001
                              value:
                                type: string
                                description: Custom category value.
                                example: Marketing
                            required:
                            - id
                            - value
                        outstandingNetAmount:
                          description: Outstanding net amount.
                          allOf:
                          - type: object
                            properties:
                              value:
                                type: number
                                description: Amount value as decimal number.
                                example: 123.12
                              currencyCode:
                                type: string
                                description: ISO currency code.
                                example: EUR
                            required:
                            - value
                            - currencyCode
                        createdAt:
                          type: string
                          description: Creation timestamp of the purchase request in ISO 8601.
                          example: '2022-09-15T22:00:00.000Z'
                        updatedAt:
                          type: string
                          description: Last update timestamp of the purchase request in ISO 8601.
                          example: '2022-09-16T22:00:00.000Z'
                      required:
                      - id
                      - status
                      - createdAt
                      - updatedAt
                  pagination:
                    description: Pagination data providing information and the record count, page size and total count.
                    allOf:
                    - type: object
                      properties:
                        pageCount:
                          type: number
                          example: 10
                          description: This is the total number of pages available with records
                        pageSize:
                          type: number
                          example: 50
                          description: This is the length of size of the current page
                        totalCount:
                          type: number
                          example: 500
                          description: This is the total count of export records available
                      required:
                      - pageCount
                      - pageSize
                      - totalCount
                required:
                - purchaseRequests
                - pagination
        '400':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    description: The Error Code assigned to the issue encountered
                    enum:
                    - UNAUTHORIZED
                    - FORBIDDEN
                    - BAD_REQUEST
                    - SERVICE_UNAVAILABLE
                    - INTERNAL_SERVER_ERROR
                    - MISSING_REQUESTER_ID
                    - BAD_INPUT
                    - NOT_FOUND
                    - EXPORTABLE_POSTINGS_NOT_FOUND
                    - TOO_MANY_REQUEST
                    - FAILED_TO_FETCH_DOWNLOAD_URL
                    - FILE_NOT_FOUND
                  message:
                    type: string
                    description: Description about the issue encountered
                  requestId:
                    type: string
                    description: This is the unique identifier for the request.
                  errors:
                    description: This is an optional output that can provide more details about the input parameters that may have caused an issue.
                    type: array
                    items:
                      type: object
                      properties:
                        index:
                          type: string
                          description: This identifies the index of the payload that has an issue.
                        property:
                          type: string
                          description: This identifies the parameter that has an issue.
                        messages:
                          description: This provides more details about the parameter that has an issue.
                          type: array
                          items:
                            type: string
                      required:
                      - property
                      - messages
                required:
                - errorCode
                - message
        '503':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    description: The Error Code assigned to the issue encountered
                    enum:
                    - UNAUTHORIZED
                    - FORBIDDEN
                    - BAD_REQUEST
                    - SERVICE_UNAVAILABLE
                    - INTERNAL_SERVER_ERROR
                    - MISSING_REQUESTER_ID
                    - BAD_INPUT
                    - NOT_FOUND
                    - EXPORTABLE_POSTINGS_NOT_FOUND
                    - TOO_MANY_REQUEST
                    - FAILED_TO_FETCH_DOWNLOAD_URL
                    - FILE_NOT_FOUND
                  message:
                    type: string
                    description: Description about the issue encountered
                  requestId:
                    type: string
                    description: This is the unique identifier for the request.
                required:
                - errorCode
                - message
      tags:
      - Purchase Requests
      security:
      - bearer: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth2 access token issued by the Candis authorization server (Keycloak realm 'candis') sent as a Bearer token. Obtain via the OAuth2 authorization code or token-exchange flow at https://id.my.candis.io/auth/realms/candis/protocol/openid-connect/token.