{
  "openapi": "3.0.0",
  "info": {
    "title": "Paxos Orchestration API",
    "version": "2.0.0",
    "description": "The Orchestration API allows you to create and manage orchestrations that define how assets should be moved from a source to a destination,\npotentially including conversions between different asset types.\n"
  },
  "tags": [
    {
      "name": "Orchestrations",
      "description": "Operations for managing orchestrations"
    },
    {
      "name": "Orchestration Rules",
      "description": "Operations for managing orchestration rules"
    }
  ],
  "paths": {
  },
  "components": {
    "schemas": {
      "TransferDetailsTransferStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "PROCESSING",
          "COMPLETED",
          "FAILED"
        ],
        "description": " - PENDING: PENDING: a transfer is planned, but its resource_id is not yet known.\n - PROCESSING: PROCESSING: a transfer with `resource_id` is being processed. resource_id is\nguaranteed to be set if the status is PROCESSING.\n - COMPLETED: COMPLETED: a transfer with `resource_id` has successfully completed.\n - FAILED: FAILED: a transfer with `resource_id` has failed."
      },
      "CreateOrchestrationRequest": {
        "type": "object",
        "properties": {
          "identity_id": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          },
          "ref_id": {
            "type": "string",
            "description": "A client or system-specified unique identifier for the orchestration - used for idempotency\nprotection. Retries of a request should use the same ref_id to avoid duplicate transactions."
          },
          "source_asset": {
            "type": "string"
          },
          "destination_asset": {
            "type": "string"
          },
          "source_amount": {
            "type": "string",
            "title": "The available amount in the source profile"
          },
          "source": {
            "description": "If not set, it uses the default profile id",
            "$ref": "#/components/schemas/CreateOrchestrationRequestSource"
          },
          "destination": {
            "description": "If not set, it uses the default profile id",
            "$ref": "#/components/schemas/CreateOrchestrationRequestDestination"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Metadata associated with the orchestration"
          }
        }
      },
      "CreateOrchestrationRequestCryptoDestination": {
        "type": "object",
        "properties": {
          "address_id": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "network": {
            "type": "string"
          }
        }
      },
      "CreateOrchestrationRequestDestination": {
        "type": "object",
        "properties": {
          "crypto": {
            "$ref": "#/components/schemas/CreateOrchestrationRequestCryptoDestination"
          },
          "fiat": {
            "$ref": "#/components/schemas/CreateOrchestrationRequestFiatDestination"
          },
          "profile": {
            "$ref": "#/components/schemas/CreateOrchestrationRequestProfileDestination"
          }
        }
      },
      "CreateOrchestrationRequestFiatDestination": {
        "type": "object",
        "properties": {
          "bank_account_id": {
            "type": "string"
          },
          "memo": {
            "type": "string"
          }
        }
      },
      "CreateOrchestrationRequestProfileDestination": {
        "type": "object",
        "properties": {
          "profile_id": {
            "type": "string"
          }
        }
      },
      "CreateOrchestrationRequestProfileSource": {
        "type": "object",
        "properties": {
          "profile_id": {
            "type": "string"
          }
        }
      },
      "CreateOrchestrationRequestSource": {
        "type": "object",
        "properties": {
          "profile": {
            "$ref": "#/components/schemas/CreateOrchestrationRequestProfileSource"
          }
        }
      },
      "CreateOrchestrationRuleRequest": {
        "type": "object",
        "properties": {
          "ref_id": {
            "type": "string"
          },
          "nickname": {
            "type": "string"
          },
          "profile_id": {
            "type": "string"
          },
          "identity_id": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          },
          "source_asset": {
            "type": "string"
          },
          "destination_asset": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/CreateOrchestrationRuleRequestSource"
          },
          "destination": {
            "$ref": "#/components/schemas/CreateOrchestrationRuleRequestDestination"
          }
        }
      },
      "CreateOrchestrationRuleRequestCryptoDestination": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string"
          },
          "network": {
            "type": "string"
          },
          "crypto_address_id": {
            "type": "string"
          }
        }
      },
      "CreateOrchestrationRuleRequestCryptoSource": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string"
          }
        }
      },
      "CreateOrchestrationRuleRequestDestination": {
        "type": "object",
        "properties": {
          "crypto": {
            "$ref": "#/components/schemas/CreateOrchestrationRuleRequestCryptoDestination"
          },
          "fiat": {
            "$ref": "#/components/schemas/CreateOrchestrationRuleRequestFiatDestination"
          },
          "profile": {
            "$ref": "#/components/schemas/CreateOrchestrationRuleRequestProfileDestination"
          }
        }
      },
      "CreateOrchestrationRuleRequestFiatDestination": {
        "type": "object",
        "properties": {
          "bank_account_id": {
            "type": "string"
          },
          "memo": {
            "type": "string"
          }
        }
      },
      "CreateOrchestrationRuleRequestFiatSource": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string"
          },
          "account_type": {
            "type": "string"
          }
        }
      },
      "CreateOrchestrationRuleRequestProfileDestination": {
        "type": "object",
        "properties": {
          "profile_id": {
            "type": "string"
          }
        }
      },
      "CreateOrchestrationRuleRequestSource": {
        "type": "object",
        "properties": {
          "crypto": {
            "$ref": "#/components/schemas/CreateOrchestrationRuleRequestCryptoSource"
          },
          "fiat": {
            "$ref": "#/components/schemas/CreateOrchestrationRuleRequestFiatSource"
          }
        }
      },
      "CreateOrchestrationRuleResponse": {
        "type": "object",
        "properties": {
          "rule": {
            "$ref": "#/components/schemas/OrchestrationRule"
          }
        }
      },
      "DeleteOrchestrationRuleResponse": {
        "type": "object",
        "properties": {
          "rule": {
            "$ref": "#/components/schemas/OrchestrationRule"
          }
        }
      },
      "FailReason": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string"
          }
        }
      },
      "ListOrchestrationRulesResponse": {
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrchestrationRule"
            }
          },
          "next_page_cursor": {
            "type": "string"
          }
        }
      },
      "ListOrchestrationsResponse": {
        "type": "object",
        "properties": {
          "orchestrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Orchestration"
            }
          },
          "next_page_cursor": {
            "type": "string"
          }
        }
      },
      "Orchestration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "profile_id": {
            "type": "string"
          },
          "identity_id": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "ref_id": {
            "type": "string",
            "description": "A client or system-specified unique identifier for the orchestration - used for idempotency protection. Retries of a request should use the same ref_id to avoid duplicate transactions.\nFor system-initiated orchestrations generated by invocation of an orchestration rule, the ref_id is generated by the system."
          },
          "source_asset": {
            "type": "string"
          },
          "destination_asset": {
            "type": "string"
          },
          "source_amount": {
            "type": "string",
            "title": "Amount in source asset"
          },
          "source_transfer": {
            "$ref": "#/components/schemas/TransferDetails"
          },
          "destination_transfer": {
            "$ref": "#/components/schemas/TransferDetails"
          },
          "status": {
            "$ref": "#/components/schemas/OrchestrationStatus"
          },
          "fail_reason": {
            "$ref": "#/components/schemas/FailReason"
          },
          "source": {
            "$ref": "#/components/schemas/OrchestrationSource"
          },
          "destination": {
            "$ref": "#/components/schemas/OrchestrationDestination"
          },
          "orchestration_rule_id": {
            "type": "string",
            "description": "The ID of the orchestration rule which triggered this orchestration. Can be empty for\nad-hoc orchestrations."
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Metadata associated with the orchestration"
          }
        },
        "description": "An orchestration represents an intent to move a source asset via a source rail to a destination asset via a destination rail. If source asset differs from destination asset, it signals a conversion.\n\nOrchestrations can be created directly via the CreateOrchestration endpoint, or indirectly by an incoming deposit which matches an OrchestrationRule previously defined with the CreateOrchestrationRule endpoint."
      },
      "OrchestrationCryptoDestination": {
        "type": "object",
        "properties": {
          "address_id": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "network": {
            "type": "string"
          }
        }
      },
      "OrchestrationCryptoSource": {
        "type": "object",
        "properties": {
          "address_id": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "network": {
            "type": "string"
          }
        }
      },
      "OrchestrationDestination": {
        "type": "object",
        "properties": {
          "crypto": {
            "$ref": "#/components/schemas/OrchestrationCryptoDestination"
          },
          "fiat": {
            "$ref": "#/components/schemas/OrchestrationFiatDestination"
          },
          "profile": {
            "$ref": "#/components/schemas/OrchestrationProfileDestination"
          }
        }
      },
      "OrchestrationFiatDestination": {
        "type": "object",
        "properties": {
          "bank_account_id": {
            "type": "string"
          },
          "memo": {
            "type": "string"
          }
        }
      },
      "OrchestrationFiatSource": {
        "type": "object",
        "properties": {
          "deposit_instructions_id": {
            "type": "string"
          },
          "memo": {
            "type": "string"
          }
        }
      },
      "OrchestrationProfileDestination": {
        "type": "object",
        "properties": {
          "profile_id": {
            "type": "string"
          }
        }
      },
      "OrchestrationProfileSource": {
        "type": "object",
        "properties": {
          "profile_id": {
            "type": "string"
          }
        }
      },
      "OrchestrationRule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "ref_id": {
            "type": "string"
          },
          "nickname": {
            "type": "string"
          },
          "profile_id": {
            "type": "string"
          },
          "identity_id": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/OrchestrationRuleStatus"
          },
          "source_asset": {
            "type": "string"
          },
          "destination_asset": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/OrchestrationRuleSource"
          },
          "destination": {
            "$ref": "#/components/schemas/OrchestrationRuleDestination"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "OrchestrationRuleCryptoDestination": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string"
          },
          "network": {
            "type": "string"
          }
        }
      },
      "OrchestrationRuleCryptoSource": {
        "type": "object",
        "properties": {
          "address_id": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "network": {
            "type": "string"
          }
        }
      },
      "OrchestrationRuleDestination": {
        "type": "object",
        "properties": {
          "crypto": {
            "$ref": "#/components/schemas/OrchestrationRuleCryptoDestination"
          },
          "fiat": {
            "$ref": "#/components/schemas/OrchestrationRuleFiatDestination"
          },
          "profile": {
            "$ref": "#/components/schemas/OrchestrationRuleProfileDestination"
          }
        }
      },
      "OrchestrationRuleFiatDestination": {
        "type": "object",
        "properties": {
          "fiat_account_id": {
            "type": "string"
          },
          "memo": {
            "type": "string"
          }
        }
      },
      "OrchestrationRuleFiatSource": {
        "type": "object",
        "properties": {
          "deposit_instructions_id": {
            "type": "string"
          },
          "network": {
            "type": "string"
          },
          "account_type": {
            "type": "string"
          },
          "memo_id": {
            "type": "string"
          }
        }
      },
      "OrchestrationRuleProfileDestination": {
        "type": "object",
        "properties": {
          "profile_id": {
            "type": "string"
          }
        }
      },
      "OrchestrationRuleProfileSource": {
        "type": "object",
        "properties": {
          "profile_id": {
            "type": "string"
          }
        }
      },
      "OrchestrationRuleSource": {
        "type": "object",
        "properties": {
          "crypto": {
            "$ref": "#/components/schemas/OrchestrationRuleCryptoSource"
          },
          "fiat": {
            "$ref": "#/components/schemas/OrchestrationRuleFiatSource"
          },
          "profile": {
            "$ref": "#/components/schemas/OrchestrationRuleProfileSource"
          }
        }
      },
      "OrchestrationRuleStatus": {
        "type": "string",
        "enum": [
          "ACTIVE",
          "DELETED",
          "PENDING",
          "REJECTED",
          "CANCELLED"
        ],
        "description": " - ACTIVE: The rule is active, deposits matching the `source_asset` and `source` of this rule start a conversion and\nsubsequent delivery of the `destination_asset` to the specified `destination`.\n - DELETED: The rule has been deleted, newly deposited `source_assets` to the `source` of this rule will not be converted.\nThe deposited `source_asset` is still going to be credited to the Profile specified by `profile_id`.\n - PENDING: The rule creation is pending approval(s) before the rule becomes ACTIVE.\n - REJECTED: The rule creation has been rejected during the approval process.\n - CANCELLED: The rule creation has been cancelled before it could be approved."
      },
      "OrchestrationSource": {
        "type": "object",
        "properties": {
          "crypto": {
            "$ref": "#/components/schemas/OrchestrationCryptoSource"
          },
          "fiat": {
            "$ref": "#/components/schemas/OrchestrationFiatSource"
          },
          "profile": {
            "$ref": "#/components/schemas/OrchestrationProfileSource"
          }
        }
      },
      "OrchestrationStatus": {
        "type": "string",
        "enum": [
          "PROCESSING",
          "COMPLETED",
          "FAILED"
        ],
        "description": "Status represents the current state of an orchestration."
      },
      "SortOrder": {
        "type": "string",
        "enum": [
          "DESC",
          "ASC"
        ]
      },
      "TimestampFilter": {
        "type": "object",
        "properties": {
          "lt": {
            "type": "string",
            "format": "date-time",
            "description": "Include timestamps strictly less than lt. RFC3339 format, like `2006-01-02T15:04:05Z`."
          },
          "lte": {
            "type": "string",
            "format": "date-time",
            "description": "Include timestamps less than or equal to lte. RFC3339 format, like `2006-01-02T15:04:05Z`."
          },
          "eq": {
            "type": "string",
            "format": "date-time",
            "description": "Include timestamps exactly equal to eq. RFC3339 format, like `2006-01-02T15:04:05Z`."
          },
          "gte": {
            "type": "string",
            "format": "date-time",
            "description": "Include timestamps greater than or equal to lte. RFC3339 format, like `2006-01-02T15:04:05Z`."
          },
          "gt": {
            "type": "string",
            "format": "date-time",
            "description": "Include timestamps strictly greater than gt. RFC3339 format, like `2006-01-02T15:04:05Z`."
          }
        }
      },
      "TransferDetails": {
        "type": "object",
        "properties": {
          "transfer_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/TransferDetailsTransferStatus"
          }
        },
        "description": "TransferDetails refers to a specific Transfer and encodes its current status."
      }
    },
    "examples": {
      "Problem_already_exists": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/already-exists",
          "title": "Already Exists",
          "status": 409,
          "detail": "nickname already exists",
          "meta": {
            "existing": {
              "id": "b7b77d82-e6a7-4ae9-9904-36231aedf985",
              "nickname": "existing nickname",
              "type": "NORMAL"
            }
          }
        }
      },
      "Problem_already_exists_crypto_withdrawal": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/already-exists",
          "title": "Already Exists",
          "status": 409,
          "detail": "transfer already exists with ref_id 'already_used_ref_id'",
          "meta": {
            "existing": {
              "id": "f190b163-208f-4d73-8deb-4fb8b24add00",
              "customer_id": "9b8c9cba-801e-4418-adc0-ede709df6339",
              "profile_id": "b7b77d82-e6a7-4ae9-9904-36231aedf985",
              "ref_id": "already_used_ref_id",
              "amount": "0.10000000",
              "total": "0.10000023",
              "fee": "0.00000023",
              "asset": "BTC",
              "balance_asset": "BTC",
              "direction": "DEBIT",
              "type": "CRYPTO_WITHDRAWAL",
              "status": "COMPLETED",
              "created_at": "2020-01-17T18:36:08.737Z",
              "updated_at": "2020-01-17T18:37:08.737Z",
              "metadata": {
                "my_id": "4024ee50-eefb-4f2e-85c7-e7899c0b7da5"
              },
              "destination_address": "1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2",
              "crypto_network": "BITCOIN",
              "crypto_tx_hash": "f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16"
            }
          }
        }
      },
      "Problem_already_exists_deposit_address": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/already-exists",
          "title": "Already Exists",
          "status": 409,
          "detail": "deposit address already exists with ref_id 'already_used_ref_id'",
          "meta": {
            "existing": {
              "id": "34bd61ed-cf0a-4012-8be4-d347667b6154",
              "profile_id": "b7b77d82-e6a7-4ae9-9904-36231aedf985",
              "customer_id": "9b8c9cba-801e-4418-adc0-ede709df6339",
              "crypto_network": "ETHEREUM",
              "identity_id": "54385e67-d7ef-40d1-b488-ceda6dd9b264",
              "ref_id": "already_used_ref_id",
              "metadata": {
                "my_id": "4024ee50-eefb-4f2e-85c7-e7899c0b7da5"
              },
              "address": "0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7"
            }
          }
        }
      },
      "Problem_already_exists_fiat_withdrawal": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/already-exists",
          "title": "Already Exists",
          "status": 409,
          "detail": "activity with external id already_used_ref_id already exists",
          "meta": {
            "existing": {
              "id": "f190b163-208f-4d73-8deb-4fb8b24add00",
              "customer_id": "9b8c9cba-801e-4418-adc0-ede709df6339",
              "profile_id": "5fc6d191-193c-4e28-94fa-656bbdbdfaad",
              "identity_id": "54385e67-d7ef-40d1-b488-ceda6dd9b264",
              "amount": "10.00",
              "total": "10.00",
              "fee": "0.0000000",
              "asset": "USD",
              "balance_asset": "USD",
              "direction": "DEBIT",
              "type": "CUBIX_WITHDRAWAL",
              "status": "PENDING",
              "created_at": "2023-07-13T18:36:08.737Z",
              "updated_at": "2023-07-13T18:36:08.737Z",
              "fiat_account_id": "caa82b32-8abd-4899-afdc-f9d4bf9b4e98"
            }
          }
        }
      },
      "Problem_already_exists_order": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/already-exists",
          "title": "Already Exists",
          "status": 409,
          "detail": "order already exists with ref_id 'already_used_ref_id'",
          "meta": {
            "existing": {
              "id": "f190b163-208f-4d73-8deb-4fb8b24add00",
              "profile_id": "b7b77d82-e6a7-4ae9-9904-36231aedf985",
              "ref_id": "already_used_ref_id",
              "status": "SUBMITTED",
              "side": "BUY",
              "market": "BTCUSD",
              "quote_amount": "100.00"
            }
          }
        }
      },
      "Problem_already_exists_quote_execution": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/already-exists",
          "title": "Already Exists",
          "status": 409,
          "detail": "quote execution already exists with ref_id 'already_used_ref_id'",
          "meta": {
            "existing": {
              "id": "f190b163-208f-4d73-8deb-4fb8b24add00",
              "profile_id": "b7b77d82-e6a7-4ae9-9904-36231aedf985",
              "quote_id": "366a26d2-3098-4226-a520-4bb43ae4d922",
              "ref_id": "already_used_ref_id",
              "status": "CREATED",
              "market": "BTCUSD",
              "side": "BUY",
              "price": "6001.2",
              "base_amount": "0.016663334",
              "base_asset": "BTC",
              "quote_amount": "100.00",
              "quote_asset": "USD",
              "created_at": "2020-01-17T18:36:31.345Z",
              "metadata": {
                "customer_id": "9b8c9cba-801e-4418-adc0-ede709df6339"
              }
            }
          }
        }
      },
      "Problem_bad_request": {
        "value": {
          "type": "about:blank",
          "title": "Bad Request",
          "status": 400,
          "detail": "base_amount invalid: invalid amount '-10': must be positive decimal"
        }
      },
      "Problem_below_min_withdraw_limit": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/below-min-withdraw-limit",
          "title": "Withdrawal Amount Too Small",
          "status": 400,
          "detail": "amount too small for network NETWORK_BTC minimum amount is 0.00001",
          "meta": {
            "limit": "0.00001",
            "amount": "0.0000001"
          }
        }
      },
      "Problem_exceed_max_withdraw_limit": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/exceed-max-withdraw-limit",
          "title": "Withdrawal Amount Too Large",
          "status": 400,
          "detail": "withdrawal amount 0.3 exceeds withdrawal limit for this asset BTC",
          "meta": {
            "limit": "0.1",
            "amount": "0.3"
          }
        }
      },
      "Problem_exceed_precision": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/exceed-precision",
          "title": "Exceeds Maximum Precision Allowed",
          "status": 400,
          "detail": "max precision allowed for asset ETH is 18"
        }
      },
      "Problem_expired": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/expired",
          "title": "Expired",
          "status": 403,
          "detail": "offer expired at 0001-01-01T00:00:00Z",
          "meta": {
            "expired_at": "0001-01-01T00:00:00Z"
          }
        }
      },
      "Problem_expired_quote": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/expired",
          "title": "Expired",
          "status": 403,
          "detail": "quote 366a26d2-3098-4226-a520-4bb43ae4d922 expired at 2020-01-17T18:36:38Z",
          "meta": {
            "expired_at": "2020-01-17T18:36:38Z"
          }
        }
      },
      "Problem_fee_expired_crypto_withdrawal": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/expired",
          "title": "Expired",
          "status": 403,
          "detail": "fee 9e5828e2-0a10-4273-aa9c-f50bd0eaf344 expired at 2020-01-17T18:36:08.737Z",
          "meta": {
            "expired_at": "2020-01-17T18:36:08.737Z"
          }
        }
      },
      "Problem_fee_not_found_crypto_withdrawal": {
        "value": {
          "type": "about:blank",
          "title": "Not Found",
          "status": 404,
          "detail": "fee not found with id 9e5828e2-0a10-4273-aa9c-f50bd0eaf344"
        }
      },
      "Problem_forbidden": {
        "value": {
          "type": "about:blank",
          "title": "Forbidden",
          "status": 403,
          "detail": "user account is disabled"
        }
      },
      "Problem_forbidden_order_cancel": {
        "value": {
          "type": "about:blank",
          "title": "Forbidden",
          "status": 403,
          "detail": "order is not in cancellable state"
        }
      },
      "Problem_gateway_timeout": {
        "value": {
          "type": "about:blank",
          "title": "Gateway Timeout",
          "status": 504,
          "detail": "timeout reached while creating the order"
        }
      },
      "Problem_insufficient_funds": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/insufficient-funds",
          "title": "Insufficient Funds",
          "status": 403,
          "detail": "insufficient USD funds in profile b7b77d82-e6a7-4ae9-9904-36231aedf985: 100 needed, 50 available",
          "meta": {
            "profile_id": "b7b77d82-e6a7-4ae9-9904-36231aedf985",
            "asset": "USD",
            "available": "50",
            "needed": "100"
          }
        }
      },
      "Problem_internal_server_error": {
        "value": {
          "type": "about:blank",
          "title": "Internal Server Error",
          "status": 500
        }
      },
      "Problem_market_conditions_prevented_execution": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/market-conditions-prevented-execution",
          "title": "Market Conditions Prevented Execution",
          "status": 403,
          "detail": "market conditions have invalidated this order"
        }
      },
      "Problem_minimum_commission_exceeds_notional": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/minimum-commission-exceeds-notional",
          "title": "Order notional value must exceed minimum commission",
          "status": 400,
          "detail": "The minimum notional for ETH is 1.500000"
        }
      },
      "Problem_not_found": {
        "value": {
          "type": "about:blank",
          "title": "Not Found",
          "status": 404,
          "detail": "profile not found: b7b77d82-e6a7-4ae9-9904-36231aedf985"
        }
      },
      "Problem_not_found_quote": {
        "value": {
          "type": "about:blank",
          "title": "Not Found",
          "status": 404,
          "detail": "quote not found with id 366a26d2-3098-4226-a520-4bb43ae4d922"
        }
      },
      "Problem_not_implemented": {
        "value": {
          "type": "about:blank",
          "title": "Not Implemented",
          "status": 501,
          "detail": "Not implemented"
        }
      },
      "Problem_notional_value_too_large": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/notional-value-too-large",
          "title": "Notional Value Too Large",
          "status": 403,
          "detail": "notional value too large for BTCUSD LIMIT order: order had notional value 1501234.56, but maximum allowed notional value is 1500000",
          "meta": {
            "market": "BTCUSD",
            "order_type": "LIMIT",
            "order_notional_value": "1501234.56",
            "max_notional_value": "1500000"
          }
        }
      },
      "Problem_rejected": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/rejected",
          "title": "Rejected",
          "status": 403,
          "detail": "extreme market conditions have invalidated this quote execution",
          "meta": {}
        }
      },
      "Problem_service_unavailable": {
        "value": {
          "type": "about:blank",
          "title": "Service Unavailable",
          "status": 503,
          "detail": "quotes disabled"
        }
      },
      "Problem_too_many_requests": {
        "value": {
          "type": "about:blank",
          "title": "Too Many Requests",
          "status": 429,
          "detail": "Too many requests"
        }
      },
      "Problem_unauthenticated": {
        "value": {
          "type": "about:blank",
          "title": "Unauthorized",
          "status": 401,
          "detail": "no authorization header set"
        }
      },
      "Problem_unavailable_market": {
        "value": {
          "type": "https://developer.paxos.com/docs/v2/problems/unavailable-market",
          "title": "Planned Market Outage",
          "status": 403,
          "detail": "no marketable orders may be submitted at this time"
        }
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "description": "Paxos APIs use OAuth 2 with the client credentials grant flow.\n\n**Token URLs:**\n- Production: https://oauth.paxos.com/oauth2/token\n- Sandbox: https://oauth.sandbox.paxos.com/oauth2/token\n",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://oauth.paxos.com/oauth2/token",
            "scopes": {
              "orchestration:read_orchestration": "Read orchestration data",
              "orchestration:write_orchestration": "Create and manage orchestrations",
              "orchestration:read_orchestration_rule": "Read orchestration rules",
              "orchestration:write_orchestration_rule": "Create and delete orchestration rules"
            }
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.paxos.com/v2",
      "description": "Production server"
    },
    {
      "url": "https://api-sandbox.paxos.com/v2",
      "description": "Sandbox server"
    }
  ],
  "x-tagGroups": [
    {
      "name": "Orchestrations",
      "tags": [
        "Orchestrations",
        "Orchestration Rules"
      ]
    }
  ]
}
