AppDirect PurchaseOrder API

The PurchaseOrder API from AppDirect — 7 operation(s) for purchaseorder.

OpenAPI Specification

appdirect-purchaseorder-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: The Companies API allows developers to manage marketplace companies and their user memberships.
  title: Companies AI Embed PurchaseOrder API
  license:
    name: Apache License, Version 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0
  version: v296.0-SNAPSHOT
servers:
- url: https://marketplace.appdirect.com/api
- url: https://virtserver.swaggerhub.com
tags:
- name: PurchaseOrder
  x-displayName: Purchase Orders
paths:
  /billing/v1/companies/{companyId}/orders:
    get:
      description: List all of the purchase orders for the given company
      tags:
      - PurchaseOrder
      summary: List all purchase orders for a company
      operationId: resource_Other_readCompanyPurchaseOrders_GET
      parameters:
      - description: Company ID
        name: companyId
        in: path
        required: true
        schema:
          type: string
      - description: Filters results to only include subscriptions that were started on or after the specified date
        name: startDateFrom
        in: query
        schema:
          type: number
      - description: Filters results to only include subscriptions that were started on or before the specified date
        name: startDateTo
        in: query
        schema:
          type: number
      - description: Filters subscriptions by order status
        name: status
        in: query
        schema:
          type: string
          enum:
          - INITIALIZED
          - PENDING_USER_APPROVAL
          - PENDING_REMOTE_CREATION
          - PENDING_MANUAL_RECOVERY
          - PENDING_ASYNCHRONOUS_CREATION
          - FREE_TRIAL
          - ACTIVE
          - FINISHED
          - ONE_TIME
          - CANCELLED
          - SUSPENDED
          - FREE_TRIAL_EXPIRED
          - FREE_TRIAL_CANCELLED
          - DELETED
          - FAILED
          - UPCOMING
          - PENDING_MIGRATION_ACTIVATION
          - PENDING_DELAYED_PROVISIONING
      - description: Filters subscriptions by currency
        name: currency
        in: query
        schema:
          type: string
          enum:
          - USD
          - CAD
          - EUR
          - JPY
          - GBP
          - KRW
          - CHF
          - SEK
          - SGD
          - MYR
          - AUD
          - MXN
          - INR
          - BRL
          - DKK
          - NZD
          - NOK
          - ZAR
          - PHP
          - CNY
          - SAR
          - GTQ
          - IDR
          - ARS
          - COP
          - PEN
      - description: 'Filters subscriptions by order type.<br/>NEW: The first order of a subscription. The order contains flat fees (one time or recurring) for this subscription. It is active until the subscription is updated or canceled.<br/>MIGRATION: The order created after a subscription change. The order includes flat fees for both one-time and recurring editions.<br/>ADOPTION: The order created by an administrator who has taken ownership of an application from another user within the same company.<br/>FREE_TRIAL_ACTIVATION: Created when a free trial is manually upgraded to a paid subscription. Any subscription that is updated from free trial to paid automatically keeps the original NEW purchase order type.<br/>TERMINATION_FEE: A subscription is canceled that had a termination fee. This purchase order represents the fees incurred as a result of the cancellation.<br/>END_OF_CONTRACT_MIGRATION: Created when a subscription update takes place as a result of a contract extension. If the contract autorenewal is set to either continue without a contract or renew the contract with the same pricing plan, then no migration occurs and the original purchase order is updated to include the new end date for the contract.<br/>REFUND: Created when a refund is performed. The refund purchase order is created for only on-platform refunds. Off-platform refunds do not generate this type of purchase order.<br/>CREDIT: Created during subscription update events. Any subscription update calculates a paid period and a credit period. The credit is then provided to the user to prorate the subscription.<br/>ONE_TIME_FEE: Created if an edition includes one-time setup fees.<br/>ADDITIONAL_FEE: Used for off-order charges. A developer change creates an off-order charge and charges their customer a custom amount outside of the normal subscription cycle.<br/>END_OF_DISCOUNT_MIGRATION: Created after a discount of limited duration expires. This purchase order is created to represent the updated costs without the discount.<br/>METERED_USAGE: A purchase order created to accumulate usage fees during a billing period. The order is only valid for the billing period but it is updated with usage lines over the course of the billing period. A metered purchase order is invoiced in arrears at the end of the billing cycle.'
        name: type
        in: query
        schema:
          type: string
          enum:
          - NEW
          - MIGRATION
          - ADOPTION
          - FREE_TRIAL_ACTIVATION
          - TERMINATION_FEE
          - END_OF_CONTRACT_MIGRATION
          - REFUND
          - CREDIT
          - ONE_TIME_FEE
          - ADDITIONAL_FEE
          - END_OF_DISCOUNT_MIGRATION
          - METERED_USAGE
      - description: Filters subscriptions by pricing frequency
        name: frequency
        in: query
        schema:
          type: string
          enum:
          - ONE_TIME
          - MONTHLY
          - QUARTERLY
          - SIX_MONTHS
          - YEARLY
          - TWO_YEARS
          - THREE_YEARS
          - DAILY
      - description: Filters subscriptions by order reference code
        name: orderReferenceCode
        in: query
        schema:
          type: string
      - description: Filters subscriptions by internal application ID
        name: applicationIds
        in: query
        schema:
          type: number
      - description: Filters results to only include subscriptions that were created on or after the specified date
        name: fromCreationDate
        in: query
        schema:
          type: number
      - description: Filters results to only include subscriptions that were created on or before the specified date
        name: toCreationDate
        in: query
        schema:
          type: number
      - description: Number of results to fetch. Used for paging.
        name: count
        in: query
        schema:
          type: integer
          default: 250
      - description: Sort field.
        name: sortField
        in: query
        schema:
          type: string
          enum:
          - DATE
          - ORDER_ID
          - TOTAL
          default: DATE
      - description: Sort order.
        name: sortOrder
        in: query
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: ASC
      - description: First result index. Used for paging.
        name: start
        in: query
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDetailedListingWS'
              examples:
                response:
                  value:
                    orders:
                    - startDate: 1480921200000
                      endDate: null
                      nextBillingDate: 1483599600000
                      endOfDiscountDate: null
                      status: ACTIVE
                      frequency: MONTHLY
                      currency: USD
                      type: NEW
                      totalPrice: 10
                      user:
                        id: c47d0fd7-b67a-4e07-84f8-f93dfafbeecc
                        href: http://appdirect/api/account/v1/users/c47d0fd7-b67a-4e07-84f8-f93dfafbeecc
                      salesSupportUser: null
                      company:
                        id: e83cd3d6-7865-4fc2-9d7c-603ad17dd639
                        href: http://appdirect/api/account/v1/companies/e83cd3d6-7865-4fc2-9d7c-603ad17dd639
                      referenceCode: null
                      paymentPlan:
                        href: http://appdirect/api/marketplace/v1/products/2/editions/2/paymentPlans/2
                        id: 2
                        uuid: eaca1aa5-4c4f-44cb-8cf4-eb0aa9267273
                        frequency: MONTHLY
                        contract:
                          minimumServiceLength: null
                          cancellationPeriodLimit: null
                          endOfContractGracePeriod: null
                          blockSwitchToShorterContract: false
                          blockContractDowngrades: false
                          blockContractUpgrades: false
                          alignWithParentCycleStartDate: false
                          gracePeriod: null
                          terminationFee: null
                          autoExtensionPricingId: null
                        allowCustomUsage: false
                        keepBillDateOnUsageChange: false
                        separatePrepaid: false
                        isPrimaryPrice: false
                        costs:
                        - id: 2
                          unit: USER
                          unitDependency: null
                          minUnits: 0
                          maxUnits: null
                          meteredUsage: false
                          increment: 1
                          pricePerIncrement: false
                          blockContractDecrease: false
                          blockContractIncrease: false
                          blockOriginalContractDecrease: false
                          amount:
                            USD: 10
                          pricingStrategy: UNIT
                        discount: null
                        primaryPrice: false
                      contract: null
                      previousOrder: null
                      nextOrder: null
                      discount: null
                      paymentPlanId: 2
                      discountId: null
                      activated: false
                      oneTimeOrders: []
                      orderLines:
                      - id: 1
                        type: ITEM
                        unit: USER
                        quantity: 1
                        price: 10
                        listingPrice: 10
                        totalPrice: 10
                        description: Test App 1 - null - Per User Fee
                      parameters: []
                      links:
                      - rel: subscription
                        href: http://appdirect/api/billing/v1/subscriptions/1b577640-9b77-47bc-beb8-ed59accb4836
                      id: 1
                    total: 1
            application/xml:
              schema:
                $ref: '#/components/schemas/OrderDetailedListingWS'
        '404':
          description: Not Found
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&currency=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'"
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'GET',\n  url: 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/orders',\n  qs: {\n    startDateFrom: 'SOME_NUMBER_VALUE',\n    startDateTo: 'SOME_NUMBER_VALUE',\n    status: 'SOME_STRING_VALUE',\n    currency: 'SOME_STRING_VALUE',\n    type: 'SOME_STRING_VALUE',\n    frequency: 'SOME_STRING_VALUE',\n    orderReferenceCode: 'SOME_STRING_VALUE',\n    applicationIds: 'SOME_NUMBER_VALUE',\n    fromCreationDate: 'SOME_NUMBER_VALUE',\n    toCreationDate: 'SOME_NUMBER_VALUE',\n    count: 'SOME_INTEGER_VALUE',\n    sortField: 'SOME_STRING_VALUE',\n    sortOrder: 'SOME_STRING_VALUE',\n    start: 'SOME_INTEGER_VALUE'\n  }\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Java + Okhttp
        source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n  .url(\"https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&currency=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE\")\n  .get()\n  .build();\n\nResponse response = client.newCall(request).execute();"
  /billing/v1/companies/{companyId}/users/{userId}/orders:
    get:
      description: List all of the purchase orders for the given user
      tags:
      - PurchaseOrder
      summary: List all purchase orders for a user
      operationId: resource_Other_readUserPurchaseOrders_GET
      parameters:
      - description: User's company ID
        name: companyId
        in: path
        required: true
        schema:
          type: string
      - description: User ID
        name: userId
        in: path
        required: true
        schema:
          type: string
      - description: Filters results to only include subscriptions that were started on or after the specified date
        name: startDateFrom
        in: query
        schema:
          type: number
      - description: Filters results to only include subscriptions that were started on or before the specified date
        name: startDateTo
        in: query
        schema:
          type: number
      - description: Filters subscriptions by order status
        name: status
        in: query
        schema:
          type: string
          enum:
          - INITIALIZED
          - PENDING_USER_APPROVAL
          - PENDING_REMOTE_CREATION
          - PENDING_MANUAL_RECOVERY
          - PENDING_ASYNCHRONOUS_CREATION
          - FREE_TRIAL
          - ACTIVE
          - FINISHED
          - ONE_TIME
          - CANCELLED
          - SUSPENDED
          - FREE_TRIAL_EXPIRED
          - FREE_TRIAL_CANCELLED
          - DELETED
          - FAILED
          - UPCOMING
          - PENDING_MIGRATION_ACTIVATION
          - PENDING_DELAYED_PROVISIONING
      - description: Filters subscriptions by currency
        name: currency
        in: query
        schema:
          type: string
          enum:
          - USD
          - CAD
          - EUR
          - JPY
          - GBP
          - KRW
          - CHF
          - SEK
          - SGD
          - MYR
          - AUD
          - MXN
          - INR
          - BRL
          - DKK
          - NZD
          - NOK
          - ZAR
          - PHP
          - CNY
          - SAR
          - GTQ
          - IDR
          - ARS
          - COP
          - PEN
      - description: 'Filters subscriptions by order type.<br/>NEW: The first order of a subscription. The order contains flat fees (one time or recurring) for this subscription. It is active until the subscription is updated or canceled.<br/>MIGRATION: The order created after a subscription change. The order includes flat fees for both one-time and recurring editions.<br/>ADOPTION: The order created by an administrator who has taken ownership of an application from another user within the same company.<br/>FREE_TRIAL_ACTIVATION: Created when a free trial is manually upgraded to a paid subscription. Any subscription that is updated from free trial to paid automatically keeps its NEW status purchase order.<br/>TERMINATION_FEE: A subscription is canceled that had a termination fee. This purchase order represents the fees incurred as a result of the cancellation.<br/>END_OF_CONTRACT_MIGRATION: Created when a subscription update takes place as a result of a contract extension. If the contract autorenewal is set to either continue without a contract or renew the contract with the same pricing plan, then no migration occurs and the original purchase order is updated to include the new end date for the contract.<br/>REFUND: Created when a refund is performed. The refund purchase order is created for only on-platform refunds. Off-platform refunds do not generate this type of purchase order.<br/>CREDIT: Created during subscription update events. Any subscription update calculates a paid period and a credit period. The credit is then provided to the user to prorate the subscription.<br/>ONE_TIME_FEE: Created if an edition includes one-time setup fees.<br/>ADDITIONAL_FEE: Used for off-order charges. A developer change creates an off-order charge and charges their customer a custom amount outside of the normal subscription cycle.<br/>END_OF_DISCOUNT_MIGRATION: Created after a discount of limited duration expires. This purchase order is created to represent the updated costs without the discount.<br/>METERED_USAGE: A purchase order created to accumulate usage fees during a billing period. The order is only valid for the billing period but it is updated with usage lines over the course of the billing period. A metered purchase order is invoiced in arrears at the end of the billing cycle.'
        name: type
        in: query
        schema:
          type: string
          enum:
          - NEW
          - MIGRATION
          - ADOPTION
          - FREE_TRIAL_ACTIVATION
          - TERMINATION_FEE
          - END_OF_CONTRACT_MIGRATION
          - REFUND
          - CREDIT
          - ONE_TIME_FEE
          - ADDITIONAL_FEE
          - END_OF_DISCOUNT_MIGRATION
          - METERED_USAGE
      - description: Filters subscriptions by pricing frequency
        name: frequency
        in: query
        schema:
          type: string
          enum:
          - ONE_TIME
          - MONTHLY
          - QUARTERLY
          - SIX_MONTHS
          - YEARLY
          - TWO_YEARS
          - THREE_YEARS
          - DAILY
      - description: Filters subscriptions by order reference code
        name: orderReferenceCode
        in: query
        schema:
          type: string
      - description: Filters subscriptions by internal application ID
        name: applicationIds
        in: query
        schema:
          type: number
      - description: Filters results to only include subscriptions that were created on or after the specified date
        name: fromCreationDate
        in: query
        schema:
          type: number
      - description: Filters results to only include subscriptions that were created on or before the specified date
        name: toCreationDate
        in: query
        schema:
          type: number
      - description: Number of results to fetch. Used for paging.
        name: count
        in: query
        schema:
          type: integer
          default: 250
      - description: Sort field.
        name: sortField
        in: query
        schema:
          type: string
          enum:
          - DATE
          - ORDER_ID
          - TOTAL
          default: DATE
      - description: Sort order.
        name: sortOrder
        in: query
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: ASC
      - description: First result index. Used for paging.
        name: start
        in: query
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: Response.
          content:
            application/json:
              schema:
                description: Response.
                type: object
              examples:
                response:
                  value:
                    orders:
                    - startDate: 1480921200000
                      endDate: null
                      nextBillingDate: 1483599600000
                      endOfDiscountDate: null
                      status: ACTIVE
                      frequency: MONTHLY
                      currency: USD
                      type: NEW
                      totalPrice: 0
                      user:
                        id: c47d0fd7-b67a-4e07-84f8-f93dfafbeecc
                        href: http://appdirect/api/account/v1/users/c47d0fd7-b67a-4e07-84f8-f93dfafbeecc
                      salesSupportUser: null
                      company:
                        id: e83cd3d6-7865-4fc2-9d7c-603ad17dd639
                        href: http://appdirect/api/account/v1/companies/e83cd3d6-7865-4fc2-9d7c-603ad17dd639
                      referenceCode: null
                      paymentPlan:
                        href: http://appdirect/api/marketplace/v1/products/2/editions/2/paymentPlans/2
                        id: 2
                        uuid: eaca1aa5-4c4f-44cb-8cf4-eb0aa9267273
                        frequency: MONTHLY
                        contract:
                          minimumServiceLength: null
                          cancellationPeriodLimit: null
                          endOfContractGracePeriod: null
                          blockSwitchToShorterContract: false
                          blockContractDowngrades: false
                          blockContractUpgrades: false
                          alignWithParentCycleStartDate: false
                          gracePeriod: null
                          terminationFee: null
                          autoExtensionPricingId: null
                        allowCustomUsage: false
                        keepBillDateOnUsageChange: false
                        separatePrepaid: false
                        isPrimaryPrice: false
                        costs:
                        - id: 2
                          unit: USER
                          unitDependency: null
                          minUnits: 0
                          maxUnits: null
                          meteredUsage: false
                          increment: 1
                          pricePerIncrement: false
                          blockContractDecrease: false
                          blockContractIncrease: false
                          blockOriginalContractDecrease: false
                          amount:
                            USD: 10
                          pricingStrategy: UNIT
                        discount: null
                        primaryPrice: false
                      contract: null
                      previousOrder: null
                      nextOrder: null
                      discount: null
                      paymentPlanId: 2
                      discountId: null
                      activated: false
                      oneTimeOrders: []
                      orderLines:
                      - id: 1
                        type: ITEM
                        unit: USER
                        quantity: 1
                        price: 10
                        listingPrice: 10
                        totalPrice: 10
                        description: Test App 1 - null - Per User Fee
                      parameters: []
                      links:
                      - rel: subscription
                        href: http://appdirect/api/billing/v1/subscriptions/1b577640-9b77-47bc-beb8-ed59accb4836
                      id: 1
                    total: 1
            application/xml:
              schema:
                description: Response.
                type: object
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&currency=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE'"
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'GET',\n  url: 'https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/orders',\n  qs: {\n    startDateFrom: 'SOME_NUMBER_VALUE',\n    startDateTo: 'SOME_NUMBER_VALUE',\n    status: 'SOME_STRING_VALUE',\n    currency: 'SOME_STRING_VALUE',\n    type: 'SOME_STRING_VALUE',\n    frequency: 'SOME_STRING_VALUE',\n    orderReferenceCode: 'SOME_STRING_VALUE',\n    applicationIds: 'SOME_NUMBER_VALUE',\n    fromCreationDate: 'SOME_NUMBER_VALUE',\n    toCreationDate: 'SOME_NUMBER_VALUE',\n    count: 'SOME_INTEGER_VALUE',\n    sortField: 'SOME_STRING_VALUE',\n    sortOrder: 'SOME_STRING_VALUE',\n    start: 'SOME_INTEGER_VALUE'\n  }\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Java + Okhttp
        source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n  .url(\"https://marketplace.appdirect.com/api/billing/v1/companies/%7BcompanyId%7D/users/%7BuserId%7D/orders?startDateFrom=SOME_NUMBER_VALUE&startDateTo=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&currency=SOME_STRING_VALUE&type=SOME_STRING_VALUE&frequency=SOME_STRING_VALUE&orderReferenceCode=SOME_STRING_VALUE&applicationIds=SOME_NUMBER_VALUE&fromCreationDate=SOME_NUMBER_VALUE&toCreationDate=SOME_NUMBER_VALUE&count=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_INTEGER_VALUE\")\n  .get()\n  .build();\n\nResponse response = client.newCall(request).execute();"
  /billing/v1/orders/{orderId}/payments:
    get:
      description: List all purchase order payments
      tags:
      - PurchaseOrder
      summary: List all purchase order payments
      operationId: resource_Other_readOrderPayments_GET
      parameters:
      - description: The specific order id for which information is requested
        name: orderId
        in: path
        required: true
        schema:
          type: number
      - description: Number of results to fetch. Used for paging.
        name: count
        in: query
        schema:
          type: string
          default: '250'
      - description: Filter by the start date of the invoice
        name: fromDate
        in: query
        schema:
          type: number
      - description: Filter by method of the payment
        name: method
        in: query
        schema:
          type: string
          enum:
          - ADP_INVOICE
          - ARIBAPAY
          - BT_BILL
          - CLICKANDBUY
          - CLOUDFOUNDRY
          - CREDIT_CARD
          - CUMULA_BILL
          - DTAG
          - EXTERNAL_INVOICE
          - KREDITKARTE
          - LASTSCHRIFT_MRNEXNET
          - MANO_TEO_BILL
          - MANUAL
          - MARKETPLACE_CREDITS
          - NETS_ARVATO_INVOICE
          - NEXTEL
          - PAYPAL
          - ROGERS_CC_DTMF
          - ROGERS_CC_POS
          - SNAP
          - TBILL
          - THISTLE
          - TOICLEARING
      - description: Filter by results of the payment
        name: result
        in: query
        schema:
          type: string
          enum:
          - FAILED
          - GATEWAY_NOT_AVAILABLE
          - MANUAL
          - SUCCESSFUL
      - description: The filed to be used for sorting com.appdirect.backend.api.billing.types.OrderSortWS.
        name: sortField
        in: query
        schema:
          type: string
          enum:
          - AMOUNT
          - DATE
          - PAYMENT_ID
          default: PAYMENT_ID
      - description: Sort order org.springframework.data.domain.Sort.Direction.
        name: sortOrder
        in: query
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: ASC
      - description: First result index. Used for paging.
        name: start
        in: query
        schema:
          type: string
          default: '0'
      - description: Filter by the end date of the invoice
        name: toDate
        in: query
        schema:
          type: number
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: OK
                type: array
                items:
                  $ref: '#/components/schemas/PaymentWS'
              examples:
                response:
                  value:
                  - paymentNumber: 17
                    date: 1481001027061
                    amount: 10
                    currency: USD
                    result: SUCCESSFUL
                    method: CREDIT_CARD
                    transactionId: 123456abcdef
                    user:
                      id: 091d24f6-7b0c-42a0-84ff-86e1cdcf893c
                      href: http://appdirect/api/account/v1/users/091d24f6-7b0c-42a0-84ff-86e1cdcf893c
                    company:
                      id: 5df15aa3-a3f3-4c6f-a434-9a85545e9c95
                      href: http://appdirect/api/account/v1/companies/5df15aa3-a3f3-4c6f-a434-9a85545e9c95
                    gatewayResponse:
                      avs: true
                      cvv: true
                      code: null
                      message: null
                    links:
                    - rel: self
                      href: http://appdirect/api/billing/v1/payments/17
            application/xml:
              schema:
                description: OK
                type: array
                items:
                  $ref: '#/components/schemas/PaymentWS'
        '404':
          description: Not Found
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url 'https://marketplace.appdirect.com/api/billing/v1/orders/%7BorderId%7D/payments?count=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE'"
      - lang: Node + Request
        source: "const request = require('request');\n\nconst options = {\n  method: 'GET',\n  url: 'https://marketplace.appdirect.com/api/billing/v1/orders/%7BorderId%7D/payments',\n  qs: {\n    count: 'SOME_STRING_VALUE',\n    fromDate: 'SOME_NUMBER_VALUE',\n    method: 'SOME_STRING_VALUE',\n    result: 'SOME_STRING_VALUE',\n    sortField: 'SOME_STRING_VALUE',\n    sortOrder: 'SOME_STRING_VALUE',\n    start: 'SOME_STRING_VALUE',\n    toDate: 'SOME_NUMBER_VALUE'\n  }\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - lang: Java + Okhttp
        source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n  .url(\"https://marketplace.appdirect.com/api/billing/v1/orders/%7BorderId%7D/payments?count=SOME_STRING_VALUE&fromDate=SOME_NUMBER_VALUE&method=SOME_STRING_VALUE&result=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&start=SOME_STRING_VALUE&toDate=SOME_NUMBER_VALUE\")\n  .get()\n  .build();\n\nResponse response = client.newCall(request).execute();"
  /billing/v1/orders:
    get:
      description: List all purchase orders
      tags:
      - PurchaseOrder
      summary: List all purchase orders
      operationId: resource_Other_readPurchaseOrders_GET
      x-appdirect-required-scopes:
        ROLE_PARTNER_READ:
        - Allows access to read all marketplace data.
      parameters:
      - description: Filters results to only include subscriptions that were started on or after the specified date
        name: startDateFrom
        in: query
        schema:
          type: number
      - description: Filters results to only include subscriptions that were started on or before the specified date
        name: startDateTo
        in: query
        schema:
          type: number
      - description: Filters orders with an order status
        name: status
        in: query
        schema:
          type: string
          enum:
          - INITIALIZED
          - PENDING_USER_APPROVAL
  

# --- truncated at 32 KB (119 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appdirect/refs/heads/main/openapi/appdirect-purchaseorder-api-openapi.yml