Procuros All Transactions API

The All Transactions API from Procuros — 2 operation(s) for all transactions.

OpenAPI Specification

procuros-all-transactions-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Procuros All Transactions API
  description: Manage Procuros Transactions.
  version: 2.0.0
servers:
- url: https://api.procuros.io/
- url: https://api.procuros-staging.io/
security:
- api_token: []
tags:
- name: All Transactions
paths:
  /v2/all-transactions:
    get:
      operationId: v2_list_all_transactions
      summary: List All Transactions
      description: List all existing transactions to and from your trade partners.
      tags:
      - All Transactions
      parameters:
      - name: filter[type]
        in: query
        required: false
        allowReserved: true
        schema:
          $ref: '#/components/schemas/TransactionType'
      - name: filter[flow]
        in: query
        required: false
        allowReserved: true
        schema:
          $ref: '#/components/schemas/TransactionFlow'
      - name: filter[status]
        in: query
        required: false
        allowReserved: true
        schema:
          $ref: '#/components/schemas/TransactionStatus'
      - name: filter[created_between]
        in: query
        required: false
        allowReserved: true
        schema:
          type: string
          description: 'Filter transactions created between two dates. Format: YYYY-MM-DD,YYYY-MM-DD'
          example: 2024-01-01,2024-01-31
      - name: cursor
        in: query
        description: Page cursor
        required: false
        schema:
          type: string
      - name: per_page
        in: query
        description: Number of transactions returned per page.
        required: false
        schema:
          type: integer
          default: 100
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                - hasMore
                - perPage
                - count
                - nextCursor
                - nextPageUrl
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Transaction'
                  hasMore:
                    type: boolean
                    description: Whether or not more transactions can be fetched on the next page.
                  perPage:
                    type: integer
                    description: Amount of transactions returned per page.
                  count:
                    type: integer
                    description: Amount of transactions on the current page.
                  nextCursor:
                    type: string
                    nullable: true
                    description: Supplied to the `cursor` query parameter. See [Pagination] for more info.
                  nextPageUrl:
                    type: string
                    format: url
                    nullable: true
                    description: Prebuilt URL to retrieve the next page of transactions.
              examples:
                List of transactions:
                  value:
                    hasMore: false
                    perPage: 100
                    count: 3
                    nextCursor: null
                    nextPageUrl: null
                    items:
                    - procurosTransactionId: 949b2f25-fd9d-4c58-8899-b4dc277f8cf9
                      type: ORDER
                      flow: LIVE
                      status: SUCCESS
                      createdAt: '2024-01-01T00:00:00+00:00'
                      replacesProcurosTransactionId: null
                      replacedByProcurosTransactionId: null
                      isLatestVersion: true
                      content:
                        header:
                          buyer:
                            name: ACME Co. Ltd.
                            identifiers:
                            - identifier: '1100001016310'
                              domain: GS1
                            postalAddress:
                              name: ACME Co. Ltd.
                              street: Elroy-Fritsch-Ring 15
                              city: Berlin
                              countryCode: DE
                              postalCode: '82643'
                            contacts:
                            - firstName: John
                              lastName: Doe
                              email: jane.doe@example.com
                              fax: (818) 463-6124
                              phone: +1.352.856.0626
                          supplier:
                            name: Testsupplier
                            identifiers:
                            - identifier: '1100001016312'
                              domain: GS1
                          shipTo:
                            identifiers:
                            - identifier: '1100001016313'
                              domain: GS1
                          billTo:
                            identifiers:
                            - identifier: '1100001016314'
                              domain: GS1
                          orderIdentifier: PO9383-R45
                          orderDate: '2021-09-30'
                          currency: EUR
                          requestedDeliveryDate: '2021-10-05'
                          comments: Something to comment
                        items:
                        - lineNumber: 1
                          identifiers:
                          - identifier: '4300348765432'
                            domain: GS1
                          - identifier: PROD-77-LS
                            domain: BUYER
                          - identifier: sp_gr_8
                            domain: SUPPLIER
                          isDepositItem: false
                          quantity: 20
                          unitOfMeasure: EA
                          description: First product description.
                          unitPrice: 0.15
                        - lineNumber: 2
                          identifiers:
                          - identifier: '4300348765433'
                            domain: GS1
                          - identifier: PROD-78-LS
                            domain: BUYER
                          - identifier: sp_gr_9
                            domain: SUPPLIER
                          isDepositItem: false
                          quantity: 19
                          unitOfMeasure: EA
                          description: Sparkling Water - Crate (6x0.75l).
                          unitPrice: 1.5
                        - lineNumber: 3
                          identifiers:
                          - identifier: '4300348765434'
                            domain: GS1
                          - identifier: PFAND-00B-LS
                            domain: SUPPLIER
                          isDepositItem: true
                          quantity: 19
                          unitOfMeasure: EA
                          description: Deposit 1x crate + 6x bottles.
                          unitPrice: 3.3
                    - procurosTransactionId: 94fe13aa-8c9b-40e5-9937-42b852185858
                      type: SHIPPING_NOTICE
                      flow: LIVE
                      status: SUCCESS
                      createdAt: '2024-01-01T00:00:00+00:00'
                      replacesProcurosTransactionId: null
                      replacedByProcurosTransactionId: null
                      isLatestVersion: true
                      content:
                        header:
                          buyer:
                            name: ACME Co. Ltd.
                            identifiers:
                            - identifier: '1100001016310'
                              domain: GS1
                            postalAddress:
                              city: Berlin
                              countryCode: DE
                              name: ACME Co. Ltd.
                              postalCode: '82643'
                              street: Elroy-Fritsch-Ring 15
                            contacts:
                            - firstName: Jane
                              lastName: Doe
                              email: jane.doe@example.com
                              fax: (818) 463-6124
                              phone: +1.352.856.0626
                          supplier:
                            name: Testsupplier
                            identifiers:
                            - identifier: '1100001016312'
                              domain: GS1
                          shipTo:
                            identifiers:
                            - identifier: '1100001016313'
                              domain: GS1
                          billTo:
                            identifiers:
                            - identifier: '1100001016314'
                              domain: GS1
                          shippingNoticeIdentifier: SN9383-R45
                          shippingNoticeDate: '2021-11-24'
                          orderIdentifier: PO9383-R45
                          orderDate: '2021-11-20'
                          despatchDate: '2021-11-05'
                          requestedDeliveryDate: '2021-11-06'
                          expectedDeliveryDate: '2021-11-06'
                          carrier: Example Delivery Solution
                          trackingNumber: b52ea6a7-c2ea-3bfc-a63f-19140d3b3af5
                          trackingUrl: https://api.procuros.com/example
                          comments: Something to comment
                        transportUnits:
                        - items:
                          - lineNumber: 1
                            orderLineNumber: 1
                            identifiers:
                            - identifier: '4300348765432'
                              domain: GS1
                            - identifier: PROD-77-LS
                              domain: BUYER
                            - identifier: sp_gr_8
                              domain: SUPPLIER
                            isDepositItem: false
                            orderedQuantity: 20
                            shippedQuantity: 20
                            unitPrice: 200
                            description: First product description.
                          - lineNumber: 2
                            orderLineNumber: 2
                            identifiers:
                            - identifier: '4300348765433'
                              domain: GS1
                            - identifier: PROD-78-LS
                              domain: BUYER
                            - identifier: sp_gr_9
                              domain: SUPPLIER
                            isDepositItem: false
                            orderedQuantity: 19
                            shippedQuantity: 15
                            openQuantityAction: DISCARDED
                            unitPrice: 1.5
                            description: Second product description.
                    - procurosTransactionId: 94fe1224-ae01-4587-8155-8e852cbbe75d
                      type: INVOICE
                      flow: LIVE
                      status: SUCCESS
                      createdAt: '2024-01-01T00:00:00+00:00'
                      replacesProcurosTransactionId: null
                      replacedByProcurosTransactionId: null
                      isLatestVersion: true
                      content:
                        header:
                          buyer:
                            name: ACME Co. Ltd.
                            identifiers:
                            - identifier: '4522704465331'
                              domain: GS1
                            - identifier: DE123456789
                              domain: VAT_DE
                            postalAddress:
                              city: Berlin
                              countryCode: DE
                              name: ACME Co. Ltd.
                              postalCode: '82643'
                              street: Elroy-Fritsch-Ring 15
                            contacts:
                            - firstName: Jane
                              lastName: Doe
                              email: jane.doe@example.com
                              fax: (818) 463-6124
                              phone: +1.352.856.0626
                          supplier:
                            name: Testsupplier
                            identifiers:
                            - identifier: '4231930775745'
                              domain: GS1
                            - identifier: DE234567890
                              domain: VAT_DE
                          shipTo:
                            identifiers:
                            - identifier: '1100001016313'
                              domain: GS1
                          billTo:
                            identifiers:
                            - identifier: '1100001016314'
                              domain: GS1
                          invoiceIdentifier: IV9383-R45
                          invoiceDate: '2021-11-11'
                          shippingNoticeIdentifier: SN9383-R45
                          shippingNoticeDate: '2021-11-04'
                          orderIdentifier: PO9383-R45
                          orderDate: '2021-11-10'
                          paymentTerms:
                          - payInNumberOfDays: 28
                            percentage: 3
                          comments: Something to comment
                        items:
                        - lineNumber: 1
                          identifiers:
                          - identifier: '4300348765432'
                            domain: GS1
                          - identifier: PROD-77-LS
                            domain: BUYER
                          - identifier: sp_gr_8
                            domain: SUPPLIER
                          isDepositItem: false
                          quantity: 20
                          unitPrice: 200
                          description: First product description.
                          tax:
                            amount: 760
                            percentage: 19
                            description: Total tax amount.
                        - lineNumber: 2
                          identifiers:
                          - identifier: '4300348765433'
                            domain: GS1
                          - identifier: PROD-78-LS
                            domain: BUYER
                          - identifier: sp_gr_9
                            domain: SUPPLIER
                          isDepositItem: false
                          quantity: 15
                          unitPrice: 1.5
                          description: Second product description.
                          tax:
                            amount: 26.775
                            percentage: 19
                            description: Total tax amount.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralValidationErrorResponse'
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalErrorResponse'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalErrorResponse'
  /v2/all-transactions/{procurosTransactionId}:
    get:
      operationId: v2_show_transaction
      summary: Show Transaction
      description: Show a single transaction.
      tags:
      - All Transactions
      parameters:
      - name: procurosTransactionId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Transaction'
              examples:
                Single Transaction:
                  value:
                    data:
                      procurosTransactionId: 949b2f25-fd9d-4c58-8899-b4dc277f8cf9
                      type: ORDER
                      flow: LIVE
                      status: SUCCESS
                      createdAt: '2024-01-01T00:00:00+00:00'
                      replacesProcurosTransactionId: null
                      replacedByProcurosTransactionId: null
                      isLatestVersion: true
                      content:
                        header:
                          buyer:
                            name: ACME Co. Ltd.
                            identifiers:
                            - identifier: '1100001016310'
                              domain: GS1
                            postalAddress:
                              name: ACME Co. Ltd.
                              street: Elroy-Fritsch-Ring 15
                              city: Berlin
                              countryCode: DE
                              postalCode: '82643'
                            contacts:
                            - firstName: John
                              lastName: Doe
                              email: jane.doe@example.com
                              fax: (818) 463-6124
                              phone: +1.352.856.0626
                          supplier:
                            name: Testsupplier
                            identifiers:
                            - identifier: '1100001016312'
                              domain: GS1
                          shipTo:
                            identifiers:
                            - identifier: '1100001016313'
                              domain: GS1
                          billTo:
                            identifiers:
                            - identifier: '1100001016314'
                              domain: GS1
                          orderIdentifier: PO9383-R45
                          orderDate: '2021-09-30'
                          currency: EUR
                          requestedDeliveryDate: '2021-10-05'
                          comments: Something to comment
                        items:
                        - lineNumber: 1
                          identifiers:
                          - identifier: '4300348765432'
                            domain: GS1
                          - identifier: PROD-77-LS
                            domain: BUYER
                          - identifier: sp_gr_8
                            domain: SUPPLIER
                          isDepositItem: false
                          quantity: 20
                          unitOfMeasure: EA
                          description: First product description.
                          unitPrice: 0.15
                        - lineNumber: 2
                          identifiers:
                          - identifier: '4300348765433'
                            domain: GS1
                          - identifier: PROD-78-LS
                            domain: BUYER
                          - identifier: sp_gr_9
                            domain: SUPPLIER
                          isDepositItem: false
                          quantity: 19
                          unitOfMeasure: EA
                          description: Sparkling Water - Crate (6x0.75l).
                          unitPrice: 1.5
                        - lineNumber: 3
                          identifiers:
                          - identifier: '4300348765434'
                            domain: GS1
                          - identifier: PFAND-00B-LS
                            domain: SUPPLIER
                          isDepositItem: true
                          quantity: 19
                          unitOfMeasure: EA
                          description: Deposit 1x crate + 6x bottles.
                          unitPrice: 3.3
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralValidationErrorResponse'
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalErrorResponse'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalErrorResponse'
components:
  schemas:
    InventoryReportItem:
      type: object
      properties:
        name:
          type: string
        lineNumber:
          type: integer
        availableQuantity:
          type: number
          format: float
        blockedQuantity:
          type: number
          format: float
        orderedQuantity:
          type: number
          format: float
        identity:
          type: object
          properties:
            senderPartnerId:
              type: string
            receiverPartnerId:
              type: string
            gtin:
              type: string
        unitOfMeasure:
          $ref: '#/components/schemas/UnitOfMeasure'
        unitPrice:
          type: number
          format: float
        pricingUnitOfMeasure:
          type: string
          maxLength: 255
          description: The unit of measure used for pricing. This field specifies the unit that the price refers to, which may differ from the quantity unit (e.g., price per carton when quantity is in pieces).
        pricingUnitQuantity:
          type: number
          format: float
          description: 'The quantity of base units contained in the pricing unit of measure. For example, if the price is per carton (pricingUnitOfMeasure: "CT") and each carton contains 100 pieces, this field stores 100.'
        tax:
          $ref: '#/components/schemas/Tax'
        netWeight:
          type: integer
          description: In grams
        grossWeight:
          type: integer
          description: In grams
        hsCode:
          type: string
        originCountryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code.
          example: DE
        colorCode:
          type: string
          description: Color code of the item.
        colorName:
          type: string
          description: Color name of the item.
        size:
          type: string
          description: Size of the item.
        dimension:
          type: string
          description: Dimension of the item.
        comment:
          type: string
        batches:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/Batch'
            - properties:
                status:
                  type: string
                statusReason:
                  type: string
    TransactionContent:
      oneOf:
      - $ref: '#/components/schemas/Order'
      - $ref: '#/components/schemas/OrderResponse'
      - $ref: '#/components/schemas/ShippingNotice'
      - $ref: '#/components/schemas/Invoice'
      - $ref: '#/components/schemas/CreditNote'
      - $ref: '#/components/schemas/DispatchInstruction'
      - $ref: '#/components/schemas/DispatchInstructionResponse'
      - $ref: '#/components/schemas/ReceivalNotice'
      - $ref: '#/components/schemas/RemittanceAdvice'
      - $ref: '#/components/schemas/ProductCatalog'
      - $ref: '#/components/schemas/InventoryReport'
      - $ref: '#/components/schemas/SalesReport'
    PartyIdentifier:
      type: object
      required:
      - identifier
      - domain
      properties:
        identifier:
          type: string
          description: Party identifier within the "domain" such as GLN on GS1 domain, DUNS number on DUNS domain, etc.
          example: '1100001016310'
        domain:
          type: string
          description: Identification system the identifier belongs to.
          default: GS1
          enum:
          - GS1
          - DUNS
          - VAT_DE
          - FED_TAX
          - SENDER_INTERNAL
          - RECEIVER_INTERNAL
    ProductCatalogItemWithSubSubItems:
      allOf:
      - $ref: '#/components/schemas/ProductCatalogItem'
      - type: object
        properties:
          subItems:
            type: array
            description: Sub items of this product catalog item. Supports two levels of nesting.
            items:
              $ref: '#/components/schemas/ProductCatalogItemWithSubItems'
    ValidationError:
      type: object
      additionalProperties:
        type: array
        description: List of validation errors.
        minItems: 1
        items:
          type: string
    OrderResponseItem:
      type: object
      properties:
        lineNumber:
          example: 1
          type: integer
        orderLineNumber:
          type: integer
          description: The line number of the order item that this response item refers to.
        identifiers:
          type: array
          minItems: 1
          description: There must be at least one identifier with domain `GS1` or `BUYER`.
          items:
            $ref: '#/components/schemas/ItemIdentifier'
        isDepositItem:
          type: boolean
          description: 'If true, the item is a deposit item such as bottle deposit (German: Pfandartikel).'
        orderedQuantity:
          example: 2
          type: number
          format: float
        confirmedQuantity:
          example: 2
          type: number
          format: float
        requestedDeliveryDate:
          $ref: '#/components/schemas/DateTime'
        requestedEarliestDeliveryDate:
          $ref: '#/components/schemas/DateTime'
        requestedLatestDeliveryDate:
          $ref: '#/components/schemas/DateTime'
        confirmedDeliveryDate:
          $ref: '#/components/schemas/DateTime'
        confirmedEarliestDeliveryDate:
          $ref: '#/components/schemas/DateTime'
        confirmedLatestDeliveryDate:
          $ref: '#/components/schemas/DateTime'
        confirmedShipmentDate:
          $ref: '#/components/schemas/DateTime'
        unitOfMeasure:
          $ref: '#/components/schemas/UnitOfMeasure'
        description:
          type: string
        comments:
          type: string
        unitPrice:
          example: 4.75
          type: number
          format: float
        pricingUnitOfMeasure:
          type: string
          maxLength: 255
          description: The unit of measure used for pricing. This field specifies the unit that the price refers to, which may differ from the quantity unit (e.g., price per carton when quantity is in pieces).
        pricingUnitQuantity:
          type: number
          format: float
          description: 'The quantity of base units contained in the pricing unit of measure. For example, if the price is per carton (pricingUnitOfMeasure: "CT") and each carton contains 100 pieces, this field stores 100.'
        recommendedRetailPrice:
          example: 5.25
          type: number
          format: float
        tax:
          $ref: '#/components/schemas/Tax'
        contractReference:
          type: string
          maxLength: 255
          description: Contract reference for this item.
        promotionCode:
          type: string
          maxLength: 255
          description: Promotion code applied to this item.
        minimumRemainingShelfLifeInDays:
          type: integer
          description: Minimum remaining shelf life in days.
        netWeight:
          type: number
          format: float
          description: Net weight of the item in grams.
        grossWeight:
          type: number
          format: float
          description: Gross weight of the item in grams.
        originCountryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code.
          example: DE
        colorCode:
          type: string
          description: Color code of the item.
        colorName:
          type: string
          description: Color name of the item.
        size:
          type: string
          description: Size of the item.
        dimension:
          type: string
          description: Dimension of the item.
        hsCode:
          type: string
          description: Harmonized System Code of the item.
        cnCode:
          type: string
          description: The 8-digit Combined Nomenclature (CN) code classifying this product for EU customs and trade statistics. Suppliers are responsible for providing a valid code.
        organicControlPointNumber:
          type: string
          maxLength: 255
          description: Organic Control Point Number of the supplier - OCPN is a unique identifier that verifies that a producer of organic products is adhering to the standards for organic production.
        fscNumber:
          type: string
          description: An FSC number refers to an identification number issued by the Forest Stewardship Council (FSC), an international organization that certifies sustainable forestry practices.
        mscNumber:
          type: string
          description: An MSC number refers to an identification number issued by the Marine Stewardship Council (MSC), an international organization that certifies sustainable fishing practices.
        season:
          type: string
          description: The season or collection period this item belongs to. Used to group and filter assortment by seasonal release.
        gender:
          type: string
          description: The target gender this item is designed for (e.g. Male, Female, Unisex). Used to classify and filter assortment by gender segment.
          example: SS27
        modificationGroups:
          type: array
          items:
            $ref: '#/components/schemas/ModificationGroup'
        attachments:
          type: array
          description: Document attachments for this line item response, such as technical datasheets, product labels, or compliance documentation.
          items:
            $ref: '#/components/schemas/LineItemAttachment'
    ProductCatalog:
      type: object
      title: Product Catalog
      required:
      - header
      - items
      properties:
        header:
          $ref: '#/components/schemas/ProductCatalogHeader'
        items:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/ProductCatalogItemWithSubSubItems'
    SalesReportHeader:
      type: object
      required:
      - salesReportIdentifier
      - salesReportDate
      - salesPeriodStartDate
      - salesPeriodEndDate
      - supplier
      - buyer
      properties:
        salesReportIdentifier:
          type: string
        salesReportDate:
          $ref: '#/components/schemas/DateTime'
        salesPeriodStartDate:
          $ref: '#/components/schemas/DateTime'
        salesPeriodEndDate:
          $ref: '#/components/schemas/DateTime'
        currency:
          $ref: '#/components/schemas/Currency'
        supplier:
          $ref: '#/components/schemas/Party'
        buyer:
          $ref: '#/components/schemas/Party'
        technicalRecipient:
          description: Used when the recipient of the message differs from the buyer or bill_to party. Common in scenarios where invoices or documents need to be sent to a centralized receiving entity (e.g., a group headquarters or shared services center) that differs from the actual buyer or billing party in the transaction.
          allOf:
          - $ref: '#/components/schemas/Party'
        technicalSender:
          description: Used when the sender of the message differs from the supplier party. Common in scenarios where orders or documents are sent from a centralized sending entity (e.g., a group headquarters or shared services center) that differs from the actual buyer in the transaction.
          allOf:
          - $ref: '#/components/schemas/Party'
        comments:
          type: string
          maxLength: 100000
          description: Arbitrary human-readable information
    RemittanceAdviceSummary:
      type: object
      properties:
        dueTotal:
          type: number

# --- truncated at 32 KB (168 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/procuros/refs/heads/main/openapi/procuros-all-transactions-api-openapi.yml