Paigo Webhooks API

The Webhooks API from Paigo — 7 operation(s) for webhooks.

OpenAPI Specification

paigo-webhooks-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Paigo Customers Webhooks API
  description: "\nFor developer documentation of the platform, please visit https://docs.paigo.tech.\n\n## Authentication\nPaigo API supports **bearer token** as the authentication method.\nSteps to set up authentication:\n1. Sign up with Paigo platform and get **client id** and **client secret**.\n2. Make a POST request to the auth endpoint `https://auth.paigo.tech/oauth/token` with the following body:\n```json\n{\n        audience: 'https://qnonyh1pc7.execute-api.us-east-1.amazonaws.com',\n        grant_type: 'client_credentials',\n        client_id: <your client id>,\n        client_secret: <your client secret>\n}\n```\nAdditionally verify that the following headers are set by the client you are using: \n```json\n{\n    \"Content-Type\": \"application/json\"\n}\n```\n\n3. Use the access token in the response to make requests to the Paigo API. Here is an example of the response:  \n```json   \n{\n            access_token: <your access token>,\n            expires_in: 86400,\n            token_type: 'Bearer'  \n}\n```\n4. To use Paigo API, add in the header of your request:\n```json\n{\n        Authorization: \"Bearer <your access token>\"\n}\n```\n\n## API Endpoints\nPaigo API has the following endpoint:\n- Production Environment API: `https://api.prod.paigo.tech`\n        "
  version: v1.10
  contact: {}
servers:
- url: https://api.prod.paigo.tech
  description: Product Environment API
tags:
- name: Webhooks
paths:
  /webhooks/test:
    get:
      operationId: Test Webhook Connection
      summary: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - Webhooks
      security:
      - bearer: []
  /webhooks/invoice:
    get:
      operationId: Test Webhook Invoices
      summary: ''
      parameters:
      - name: status
        required: true
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                - type: CreateInvoiceResponseDto
                  items:
                    $ref: '#/components/schemas/CreateInvoiceResponseDto'
                - type: ReadInvoicesDto
                  items:
                    $ref: '#/components/schemas/ReadInvoicesDto'
      tags:
      - Webhooks
      security:
      - bearer: []
  /webhooks/customer:
    get:
      operationId: Test Webhook Invoices
      summary: ''
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReadCustomerResponseData'
      tags:
      - Webhooks
      security:
      - bearer: []
  /webhooks/entitlement:
    get:
      operationId: Test Webhook Entitlement Breached
      summary: ''
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EntitlementWebookParameters'
      tags:
      - Webhooks
      security:
      - bearer: []
  /webhooks:
    get:
      operationId: Find All Webhooks
      summary: ''
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReadWebhookDto'
      tags:
      - Webhooks
      security:
      - bearer: []
  /webhooks/{webhookId}:
    get:
      operationId: Find One Webhook
      summary: ''
      parameters:
      - name: webhookId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadWebhookDto'
      tags:
      - Webhooks
      security:
      - bearer: []
    delete:
      operationId: Unsubscribe a Webhook
      summary: ''
      parameters:
      - name: webhookId
        required: true
        in: path
        schema:
          type: string
      - name: environment
        required: true
        in: query
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
      tags:
      - Webhooks
      security:
      - bearer: []
  /webhooks/subscribe:
    post:
      operationId: Subscribe a Webhook
      summary: ''
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhookDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
      tags:
      - Webhooks
      security:
      - bearer: []
components:
  schemas:
    CountBasedConsumptionUnit:
      type: object
      properties:
        unit:
          type: string
          enum:
          - count-based
          description: A dimensionless unit for a dimension of type count-based
          examples:
          - count-based
        type:
          type: string
          enum:
          - count
          description: A string that indicates the type of consumption unit
      required:
      - unit
      - type
    Address:
      type: object
      properties:
        countryCode:
          type: string
          description: 'Two-letter country code

            <br><br>

            Example: <br>

            - `''US''`<br>

            - `''DE''`<br>'
          example: US
        postalCode:
          type: string
          description: 'The postal code of the address. Typically, this is the country-specific.

            <br><br>

            Example: `"90210"`'
          example: '90210'
        city:
          type: string
          description: 'The city of the address

            <br><br>

            Example: `"Beverly Hills"`'
          example: Beverly Hills
        streetLineOne:
          type: string
          description: 'The first line of the street address

            <br><br>

            Example: `"1234 Main St"`'
          example: 1234 Main St
        streetLineTwo:
          type: string
          description: 'The second line of the street address

            <br><br>

            Example: `"Apt 1"`'
          example: Apt 1
        state:
          type: string
          description: 'Two-letter state code

            <br><br>

            Example: <br>

            - `''NY''`

            - `''CA''`'
          example: NY
      required:
      - countryCode
      - postalCode
      - city
      - streetLineOne
      - state
    TimeBasedConsumptionUnit:
      type: object
      properties:
        unit:
          enum:
          - second
          - minute
          - hour
          - day
          type: string
          description: A unit of time for a dimension of type time-based
          examples:
          - second
          - minute
          - hour
          - day
        type:
          type: string
          enum:
          - time
          description: A string that indicates the type of consumption unit
      required:
      - unit
      - type
    CreateWebhookDto:
      type: object
      properties:
        hookUrl:
          type: string
          description: 'The URL Paigo will callback to when the webhook type event occurs.

            <br/><br/>

            Example: `"https://example.com/webhook"`'
          example: https://example.com/webhook
        securityKey:
          type: string
          description: 'The security key used to authenticate the webhook. This is used to ensure the webhook is coming from Paigo. The key will be sent in the `X-Paigo-Security` header.

            <br/><br/>

            Example: `"1234567890"`'
          example: '1234567890'
        environment:
          type: string
          description: 'The environment the webhook is for. This is used to differentiate between sandbox and production. Optional, will default to `production` if not provided.

            <br/><br/>

            Example: `"sandbox"`'
          example: sandbox
        webhookType:
          type: string
          description: 'The type of webhook event to listen for. This will determine when the webhook is triggered.

            <br/><br/>

            Example: `"INVOICE_CREATED"`'
          example: INVOICE_CREATED
          enum:
          - INVOICE_CREATED
          - INVOICE_PAID
          - STRIPE_PAYMENT_FAILED
          - CUSTOMER_CREATED
          - CUSTOMER_UPDATED
          - ENTITLEMENT
          - INVOICE_SENT
        offeringId:
          type: string
          description: 'The offering the webhook is for. This is used to differentiate between different offerings. Only used for `ENTITLEMENT` webhooks.

            <br/><br/>

            Example: `"539b7f74-3832-474e-a955-6d69c5df12d0"`'
          example: 539b7f74-3832-474e-a955-6d69c5df12d0
      required:
      - hookUrl
      - webhookType
    StripePaymentChannelOptions:
      type: object
      properties:
        stripeCustomerId:
          type: string
          description: 'The unique identifier for the customer in Stripe

            <br><br>

            Example: `"cus_xxxxxxxxxxxxxx"`'
    DatastoreAccessInformationResponse:
      type: object
      properties:
        platform:
          description: Underlying resource type which paigo connects to. <br><br> Example `"s3"`
          enum:
          - s3
          - kafka
          type: string
          examples:
          - s3
        consumerDeploymentParameters:
          description: The access information and configuration for deploying a datastore consumer by Paigo. Use this field in a case where Paigo is deploying a consumer and you want to provide the access information for the datastore.
          oneOf:
          - $ref: '#/components/schemas/KafkaDeploymentParametersDto'
        ingestion:
          type: string
          description: The Ingestion endpioint for data to be dropped off at.
        dlq:
          type: string
          description: The DLQ endpoint for data which has failed to be processed.
        iamRoleArn:
          type: string
          description: The IAM role associated with the endpoints for access management
        externalId:
          type: string
          description: The externalId associated with the endpoints
        region:
          type: string
          description: The region associated with the endpoints, defaults to `us-east-1`
        accountId:
          type: string
          description: 'The Unqiue ID for your cloud account.

            <br><br>

            Example `"623673123435"`'
          example: '623673123435'
      required:
      - platform
      - ingestion
      - dlq
    ReadOfferingResponseData:
      type: object
      properties:
        offeringVisibility:
          description: 'The visibility of the offering, specifically if its private or public.

            Public offerings are designed to be shared among customers.

            Private offerings are typically used for enterprise deals which contain discounts or prepaid credits.

            <br><br>

            Example: `"private"`'
          example: private
          enum:
          - private
          - public
          type: string
          default: public
        offeringType:
          type: string
          description: 'The type of offering.

            <br>  • `usage-based` - The offering is a pure usage-based offering, or pay-as-you-go. Customers on this plan will be billed precisely based on consumption.

            <br>  • `subscription` - The offering is a fixed subscription. Customer will be billed on a fixed price.


            Example `"subscription"`'
          enum:
          - usage-based
          - subscription
          default: usage-based
          example: subscription
          externalDocs:
            description: Read more about the different offering types
            url: https://docs.paigo.tech/model-pricing-and-package/pricing-modeling-guide
        billingCycle:
          description: 'The time frame when an automatic bill should be sent leave empty for no automated billing

            <br><br>


            Example `"monthly"`'
          example: monthly
          enum:
          - monthly
          - annualToDate
          - topUp
          type: string
          default: monthly
        currency:
          description: 'The supported currency for the offering. USD is currently supported. Customers can override the currency for their account.

            However all offerings are denoted in USD.

            <br><br>

            Example `"USD"`'
          example: USD
          enum:
          - USD
          - EUR
          - CNY
          type: string
        dimensionOverrides:
          description: Overrides for the offering. Applies specific overrides to the dimensions associated with the offering. These effect the price of each dimension on the offering.
          type: array
          items:
            $ref: '#/components/schemas/DimensionOverridesDto'
        offeringId:
          type: string
          description: 'Unique identifier assigned by Paigo.

            <br><br>

            Example: `539b7f74-3832-474e-a955-6d69c5df12d0`'
          example: 539b7f74-3832-474e-a955-6d69c5df12d0
        dimensions:
          description: The list of dimensions attached to the offering.
          type: array
          items:
            $ref: '#/components/schemas/ReadDimensionResponseData'
        prepaidCredit:
          type: string
          description: 'Prepaid credit amount to be deducted as part of the bill payments. Only numerical string is allowed.

            <br><br>Example: `"20.00"` for $20.00.'
          example: '20.00'
        minimumCharge:
          type: string
          nullable: true
          description: 'A minimum charge to be billed to the customer in the event that the customer''s bill is less than the minimum charge. Only on usage based offerings. Only numerical strings are allowed, must be greater than zero.

            <br><br>Example: `"32.00"` for $32.00.'
          example: '32.00'
        topUpAmount:
          type: string
          description: 'The amount to top up the account by. Only positive number string is allowed. Required if `billingCycle` is `topUp`.

            <br><br>

            Example: `"20.00"` for $20.00.'
          example: '20.00'
        topUpThreshold:
          type: string
          description: 'The threshold at which the account should be topped up. Only positive number string is allowed. Between 0 and 1.

            If not provided the default value will be 0.2 or 20%. Meaning that when the account balance reaches 20% of the the top up amount, the account will be

            topped up, and the end customer charged.

            <br><br>

            Example: `"0.2"` for 20%.'
          example: '0.2'
        subscriptionPrice:
          type: number
          description: 'The price of the subscription.

            Only positive number string is allowed.

            Only required if `offeringType` is `subscription`.

            <br><br>


            Example: `20.00` for $20.00.'
          example: 20
        freeTrialLength:
          type: string
          description: 'The length of time for a free trial. This is a number of days.

            Only positive number string is allowed.

            <br><br>


            Example: `"1"` for 1 day or 1 billing cycle depending on the offeringType.'
          example: '1'
        offeringName:
          type: string
          description: 'A friendly, human-readable name for the offering.

            <br><br>

            Example `"Entperise Plan"`'
          example: Entperise Plan
        metadata:
          type: object
          description: 'An optional key-value map of additional metadata to associate with the offerings.

            such as environment, purpose, owner, developer, contract number,

            or any arbitrary data to be associated with this usage record. Additionally, if `null` is passed for any value in the metadata object it will be removed.

            To entirely remove the metadata object, pass null to the metadata field.

            <br><br>

            Example `{"environment": "staging", "purpose": "proof-of-concept", "owner": "John Doe", "workspaceId": null}`

            <br><br>

            In the above example, the `workspaceId` metadata key will be removed from the dimension. To remove all fields pass the following.

            <br><br>

            Example `"metadata": null`'
      required:
      - offeringId
      - dimensions
      - offeringName
    DimensionTierDto:
      type: object
      properties:
        tierName:
          type: string
          description: 'The name of the tier as it would appear on the invoice. If Tier name is not included, no `tierName` will be displayed on the invoice, and it will follow the default line item naming standard. See: https://docs.paigo.tech/invoicing-and-payment/issue-invoice/automatic-line-item-formatting

            <br><br>

            Example: `"Tier 1"`'
          example: Tier 1
        upperBound:
          type: string
          description: 'The upper limit of the tier, inclusive. If the upperBound is set to "inf", it must have the highest `tierPosition`. Additionally, the `upperBound` must be a multiple of the `usageIncrement`

            on the dimension. For example, if the `usageIncrement` is 100, the `upperBound` must be 100, 200, 300, etc. The `upperBound` cannot overlap with previous tiers, so tier 1''s `upperBound` must be smaller than tier 2''s.

            <br><br>

            Example: `"100"`'
          example: '100'
        unitPrice:
          type: string
          description: 'The unit price of the tier.

            <br><br>

            Example: `"10"`'
          example: '10'
        tierPosition:
          type: string
          description: 'The position of the tier. The first tier must have a `tierPosition` of 1, the second tier must have a `tierPosition` of 2, etc. Order of the tiers is determined by the `tierPosition`.

            <br><br>

            Example: `"1"`'
          example: '1'
      required:
      - upperBound
      - tierPosition
    DatabasedConsumptionUnit:
      type: object
      properties:
        unit:
          enum:
          - byte
          - kilobyte
          - megabyte
          - gigabyte
          - kibibyte
          - mebibyte
          - gibibyte
          type: string
          description: A unit of data for a dimension of type data-based
          examples:
          - byte
          - kilobyte
          - megabyte
          - gigabyte
        type:
          type: string
          enum:
          - data
          description: A string that indicates the type of consumption unit
      required:
      - unit
      - type
    ReadChildRowResponseData:
      type: object
      properties:
        childId:
          type: string
          description: 'The childId is the unique identifier for the child row <br><br> Example: `"9ffc73f3-eece-4a48-bfcd-c2c91153e97f"`'
          example: 9ffc73f3-eece-4a48-bfcd-c2c91153e97f
        parentId:
          type: string
          description: 'The parentId is the unique identifier for the parent row <br><br> Example: `"e962aefe-6134-4f28-8967-a11cfe7f0bf2"`'
          example: e962aefe-6134-4f28-8967-a11cfe7f0bf2
        billParent:
          type: string
          enum:
          - aggregated
          - separate
          description: 'This determines if the parent should be billed for invoices of the child. Defaults to `separate`. <br><br> Example: `"aggregated"`'
          example: aggregated
          default: separate
      required:
      - childId
      - parentId
      - billParent
    AgentAccessInformation:
      type: object
      properties:
        iamRoleArn:
          type: string
          description: 'The IAM role created by SaaS business and can be by Paigo AWS account to measure usage.

            <br><br>

            Example `"arn:aws:iam::214826386939:role/paigo-scraper"`'
          example: arn:aws:iam::214826386939:role/paigo-scraper
        externalId:
          type: string
          description: 'The Optional ExternalId associated with the IAM role.

            <br><br>

            Example `"123456789"`'
          example: '123456789'
          externalDocs:
            description: Read more about why externalIds are important
            url: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
        hostingPlatform:
          type: string
          enum:
          - k8spod
          example: k8spod
          description: Hosting platform of SaaS application
      required:
      - iamRoleArn
      - hostingPlatform
    CustomerEnrollmentResponseData:
      type: object
      properties:
        offering:
          description: The offering that the customer is enrolled in. The offering is a template for the customer's contract. Any customer specific changes to the offering are stored in the overrides object.
          allOf:
          - $ref: '#/components/schemas/ReadOfferingResponseData'
        offeringEnrollmentDate:
          type: string
          description: 'The date time when a customer enrolled for an offering.

            <br><br>

            Example `"2020-12-30T23:59:59.999Z"`'
          example: '2020-12-30T23:59:59.999Z'
        overrides:
          description: Overrides for the offering. Applies Customer specific overrides to the offering. Such as a discount or free trial.
          allOf:
          - $ref: '#/components/schemas/CustomOverrides'
      required:
      - offering
      - offeringEnrollmentDate
    CustomerContractDiscount:
      type: object
      properties:
        name:
          type: string
          example: Super Cool Discount
          description: The name of the discount. This will appear as is on the Invoice. <br><br> Example:`"Super Cool Discount"`
        percentage:
          type: string
          example: '10'
          description: 'The percentage of the discount. This will be used to calculate the discount amount. Must be between 0 and 100 (inclusive). <br><br> Example: `"10"`'
        endDate:
          type: string
          example: '2030-01-01T00:00:00Z'
          description: 'The end date of the discount. If not provided, the discount will be applied indefinitely. The date format should be an RFC3339 string. The discount will be applied to any generated invoice that has an invoice creation date before the discount end date. <br><br> Example: `"2030-01-01T00:00:00Z"`'
      required:
      - name
      - percentage
    DimensionOverridesDto:
      type: object
      properties:
        dimensionId:
          type: string
          description: 'The Id of the dimension that is being overridden.

            <br><br>

            Example: `"6a8fb855-206c-4226-8695-daf67352e7ee"`'
          example: 6a8fb855-206c-4226-8695-daf67352e7ee
        consumptionPrice:
          type: string
          description: 'The price of the dimension. Must be a valid number.

            <br><br>

            Example: `"10.00"`'
          example: '10.00'
        tiers:
          type: array
          items:
            $ref: '#/components/schemas/DimensionTierDto'
        tiersGroupByMetadata:
          type: array
          items:
            $ref: '#/components/schemas/DimensionTiersGroupByMetadataDto'
      required:
      - dimensionId
    EntitlementWebookParameters:
      type: object
      properties:
        timestamp:
          type: string
        dimensionId:
          type: string
        entitlementLimit:
          type: string
        currentUsageTotal:
          type: string
        eventType:
          type: string
        customerId:
          type: string
        customerName:
          type: string
        email:
          type: string
        webhookType:
          type: number
          enum: []
      required:
      - timestamp
      - dimensionId
      - entitlementLimit
      - currentUsageTotal
      - eventType
      - customerId
      - customerName
      - email
      - webhookType
    ReadInvoicesDto:
      type: object
      properties:
        invoiceStatus:
          description: 'The invoice status

            <br><br>


            Example: `"Draft"`'
          example: Draft
          enum:
          - Draft
          - Open
          - Paid
          - Voided
          type: string
          externalDocs:
            url: https://docs.paigo.tech/invoice-and-process-payment/issue-invoice
            description: See Invoice Life Cycle section for more details
        invoicePaymentTerm:
          description: 'The payment term for the invoice

            <br><br>

            Example: `"30"`'
          example: 30
          enum:
          - '30'
          - '60'
          - ''
          type: string
        invoiceDate:
          type: string
          description: 'The date the invoice was issued

            <br><br>

            Example: `"2021-01-01T00:00:00.000Z"`'
          example: '2021-01-01T00:00:00.000Z'
        customerId:
          type: string
          description: 'The unique identifier assigned by Paigo for the customer

            <br><br>

            Example: `"e962aefe-6134-4f28-8967-a11cfe7f0bf2"`'
          example: e962aefe-6134-4f28-8967-a11cfe7f0bf2
        totalAmountWithoutTax:
          type: number
          description: 'The total amount of the invoice without tax

            <br><br>

            Example: `100.00`'
          example: 100
        taxAmount:
          type: number
          description: 'The total amount of tax on the invoice

            <br><br>

            Example: `10.00`'
          example: 10
        amountPaid:
          type: number
          description: 'The total amount paid by the customer so far for the invoice

            <br><br>

            Example: `110.00`'
          example: 110
        invoiceUrl:
          type: string
          description: 'The URL to download the invoice. URLs are self signed and valid for 7 days after the link is generated.

            <br><br>

            Example: `"https://my-cool-bucket.s3.amazonaws.com/invoices/123MyCoolCorp980/2021-01-01/123MyCoolCorp980-2021-01-01-1234567890.pdf"`'
          example: https://my-cool-bucket.s3.amazonaws.com/invoices/123MyCoolCorp980/2021-01-01/123MyCoolCorp980-2021-01-01-1234567890.pdf
        currency:
          description: 'The currency of the invoice. Defaults to USD

            <br><br>

            Example: `"USD"`'
          example: USD
          enum:
          - USD
          - EUR
          - CNY
          type: string
        paymentLink:
          type: string
          description: 'The payment link for the invoice. Only used for invoices in the `Draft` or `Open` status. Otherwise this field will not be present.

            <br><br>

            Example: `"https://example.com/redirect"`'
          example: https://example.com/redirect
        invoiceType:
          description: 'The type of invoice. This is used to indicate how the invoice was created, whether it was created manually, via a topup event, roccuring event, etc.

            <br><br>

            Example: `"TOPUP"`'
          example: TOPUP
          enum:
          - TOPUP
          - MANUAL
          - RECURRING
          type: string
        invoiceCommunicationHistory:
          type: array
          items:
            required: false
            description: 'The communication history of the invoice. This is used to track the communication between Paigo and the customer.

              <br><br>

              Example: `[]`'
            example: []
            type: array
            items:
              $ref: '#/components/schemas/InvoiceCommunicationHistory'
        lineItems:
          description: The line items on the invoice
          type: array
          items:
            $ref: '#/components/schemas/InvoiceLineItem'
        refunds:
          description: The refunds associated with the invoice
          type: array
          items:
            $ref: '#/components/schemas/StripeRefundResponseDto'
        payments:
          description: The payments associated with the invoice
          type: array
          items:
            $ref: '#/components/schemas/ReadPaymentDto'
      required:
      - invoiceStatus
      - invoicePaymentTerm
      - invoiceDate
      - totalAmountWithoutTax
      - currency
      - invoiceCommunicationHistory
      - lineItems
      - refunds
      - payments
    InvoiceLineItem:
      type: object
      properties:
        name:
          type: string
          description: 'The name of the line item as it appears on the invoice.

            <br><br>

            Example: `"Paigo Pro"`'
          example: Paigo Pro
        quantity:
          type: number
          description: 'The quantity of the line item.

            <br><br>

            Example: `1`'
          example: 1
          minimum: 0
        unitCost:
          type: number
          description: 'The unit cost of the line item.

            <br><br>

            Example: `100.00`'
          example: 100
        description:
          type: string
          description: 'The description of the line item.

            <br><br>

            Example: `"Paigo Pro subscription"`'
          example: Paigo Pro subscription
      required:
      - name
      - quantity
      - unitCost
    StripeRefundResponseDto:
      type: object
      properties:
        amountRefunded:
          type: string
          description: 'The amount of the payment that was refunded. Derived from the stripe "amount_refunded" field.

            <br><br>

            Example: `"100.00"`'
          example: '100.00'
          externalDocs:
            url: https://stripe.com/docs/api/refunds/retrieve
            description: 'Stripe API Reference: Retrieve a Refund'
        amount:
          type: string
          description: 'The amount of the original charge. Derived from the stripe "amount" field.

            <br><br>

            Example: `"100.00"`'
          example: '100.00'
          externalDocs:
            url: https://stripe.com/docs/api/refunds/retrieve
            description: 'Stripe API Reference: Retrieve a Refund'
        chargeId:
          type: string
          description: 'The id of the charge that was refunded. Pass through from Stripe API.

            <br><br>

            Example: `"ch_1J5J1n2eZvKYlo2C0q2Q2Q2Q2"`'
          example: ch_1J5J1n2eZvKYlo2C0q2Q2Q2Q2
          externalDocs:
            url: https://stripe.com/docs/api/refunds/retrieve
            description: 'Stripe API Reference: Retrieve a Refund'
        metadata:
          type: object
          description: 'The metadata associated with the refund. Pass through from Stripe API. Metadata is an object of key value pairs.

            <br><br>

            Example: `{ "key": "value" }`'
          externalDocs:
            url: https://stripe.com/docs/api/refunds/retrieve
            description: 'Stripe API Reference: Retrieve a Refund'
        currency:
          type: string
          description: 'The currency associated with the refund. Pass through from Stripe API.

            <br><br>

            Example: `"usd"`'
          example: usd
          externalDocs:
            url: https://stripe.com/docs/api/refunds/retrieve
            description: 'Stripe API Reference: Retrieve a Refund'
        status:
          type: string
          description: 'The status of the refund. Pass through from Stripe API.

            <br><br>

            Example: `"succeeded"`'
          example: succeeded
          externalDocs:
            url: https://stripe.com/docs/api/refunds/retrieve
            description: 'Stripe API Reference: Retrieve a Refund'
        created:
          type: string
          description: 'The ISO representation of the date the refund was created. Derived from the Stripe APIs unix time.

            <br><br>

            Example: `"2021-08-02T20:00:00.000Z"`'
          example: '2021

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