HTTP API

Pact

GET/api/v1/pacts
GET
/api/v1/pacts

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

q?string

Full-text search query applied to pact title and description.

page?integer

1-indexed page number.

Formatint64
Range0 <= value
page_size?integer

Page size.

Formatint64
Range0 <= value
sort_by?string

Sort field (created_at, title).

sort_order?string

Sort order (asc or desc).

Value in

  • "asc"
  • "desc"
kind?string

Filter by pact kind.

Value in

  • "oath"
  • "bounty"
  • "market"
  • "pool"
status?string

Filter by status.

domain?string

Filter by treasury domain.

filter?array<string>

Additional filter expressions in the form field:operator:value.

Response Body

application/json

curl -X GET "https://example.com/api/v1/pacts"
{  "pacts": [    {      "claim_ttl_seconds": 0,      "claimant": "string",      "contributions": [        {          "amount": 0,          "contributor_id": "string",          "joined_at": "2019-08-24T14:15:22Z"        }      ],      "created_at": "2019-08-24T14:15:22Z",      "created_by": "string",      "creator_fee_bps": 0,      "deadline": "2019-08-24T14:15:22Z",      "description": "string",      "dispute": null,      "dispute_window_seconds": 0,      "domain": "string",      "forfeit_destination": {        "kind": "sink"      },      "kind": "oath",      "metadata": null,      "outcomes": [        {          "label": "string",          "outcome_id": "string",          "pool": 0        }      ],      "pact_id": "string",      "pool_config": {        "beneficiary_id": "string",        "payout_amount": 0      },      "receipt": null,      "resolution": null,      "stake": {        "amount": 0,        "currency_id": "string",        "escrow_transfer_id": "string",        "escrow_wallet": "string"      },      "status": "open",      "title": "string",      "updated_at": "2019-08-24T14:15:22Z",      "verifier": {        "approvers": [          "string"        ],        "kind": "manual",        "required_approvers": 0,        "rubric": "string"      }    }  ],  "pagination": {    "has_more": true,    "page": 0,    "page_size": 0,    "total": 0  }}
POST/api/v1/pacts
POST
/api/v1/pacts

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/pacts" \  -H "Content-Type: application/json" \  -d '{    "currency_id": "string",    "domain": "string",    "title": "string"  }'
{  "created_at": "2019-08-24T14:15:22Z",  "kind": "oath",  "pact_id": "string",  "stake": {    "amount": 0,    "currency_id": "string",    "escrow_transfer_id": "string",    "escrow_wallet": "string"  },  "status": "open"}
GET/api/v1/pacts/{pact_id}
GET
/api/v1/pacts/{pact_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

pact_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/pacts/string"
{  "claim_ttl_seconds": 0,  "claimant": "string",  "contributions": [    {      "amount": 0,      "contributor_id": "string",      "joined_at": "2019-08-24T14:15:22Z"    }  ],  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "creator_fee_bps": 0,  "deadline": "2019-08-24T14:15:22Z",  "description": "string",  "dispute": null,  "dispute_window_seconds": 0,  "domain": "string",  "forfeit_destination": {    "kind": "sink"  },  "kind": "oath",  "metadata": null,  "outcomes": [    {      "label": "string",      "outcome_id": "string",      "pool": 0    }  ],  "pact_id": "string",  "pool_config": {    "beneficiary_id": "string",    "payout_amount": 0  },  "receipt": null,  "resolution": null,  "stake": {    "amount": 0,    "currency_id": "string",    "escrow_transfer_id": "string",    "escrow_wallet": "string"  },  "status": "open",  "title": "string",  "updated_at": "2019-08-24T14:15:22Z",  "verifier": {    "approvers": [      "string"    ],    "kind": "manual",    "required_approvers": 0,    "rubric": "string"  }}
POST/api/v1/pacts/{pact_id}/claims
POST
/api/v1/pacts/{pact_id}/claims

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

pact_id*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/pacts/string/claims"
{  "claimant": "string",  "expires_at": "2019-08-24T14:15:22Z",  "pact_id": "string",  "status": "open"}
POST/api/v1/pacts/{pact_id}/disputes
POST
/api/v1/pacts/{pact_id}/disputes

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

pact_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/pacts/string/disputes" \  -H "Content-Type: application/json" \  -d '{    "statement": "string"  }'
{  "dispute": {    "bond_amount": 0,    "bond_wallet": "string",    "challenger_id": "string",    "dispute_id": "string",    "external_ref": "string",    "filed_at": "2019-08-24T14:15:22Z",    "resolved_at": "2019-08-24T14:15:22Z",    "statement": "string",    "status": "under_review"  },  "pact_id": "string",  "status": "open"}
POST/api/v1/pacts/{pact_id}/disputes/resolve
POST
/api/v1/pacts/{pact_id}/disputes/resolve

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

pact_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/pacts/string/disputes/resolve" \  -H "Content-Type: application/json" \  -d '{    "uphold": true  }'
{  "dispute": null,  "pact_id": "string",  "receipt": null,  "status": "open"}
POST/api/v1/pacts/{pact_id}/join
POST
/api/v1/pacts/{pact_id}/join

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

pact_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/pacts/string/join" \  -H "Content-Type: application/json" \  -d '{    "amount": 0  }'
{  "claim_ttl_seconds": 0,  "claimant": "string",  "contributions": [    {      "amount": 0,      "contributor_id": "string",      "joined_at": "2019-08-24T14:15:22Z"    }  ],  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "creator_fee_bps": 0,  "deadline": "2019-08-24T14:15:22Z",  "description": "string",  "dispute": null,  "dispute_window_seconds": 0,  "domain": "string",  "forfeit_destination": {    "kind": "sink"  },  "kind": "oath",  "metadata": null,  "outcomes": [    {      "label": "string",      "outcome_id": "string",      "pool": 0    }  ],  "pact_id": "string",  "pool_config": {    "beneficiary_id": "string",    "payout_amount": 0  },  "receipt": null,  "resolution": null,  "stake": {    "amount": 0,    "currency_id": "string",    "escrow_transfer_id": "string",    "escrow_wallet": "string"  },  "status": "open",  "title": "string",  "updated_at": "2019-08-24T14:15:22Z",  "verifier": {    "approvers": [      "string"    ],    "kind": "manual",    "required_approvers": 0,    "rubric": "string"  }}
POST/api/v1/pacts/{pact_id}/positions
POST
/api/v1/pacts/{pact_id}/positions

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

pact_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/pacts/string/positions" \  -H "Content-Type: application/json" \  -d '{    "amount": 0,    "outcome_id": "string"  }'
{  "implied_odds": 0.1,  "position": {    "amount": 0,    "created_at": "2019-08-24T14:15:22Z",    "holder_id": "string",    "outcome_id": "string",    "pact_id": "string",    "payout": 0,    "position_id": "string",    "settled": true  },  "total_pool": 0}
POST/api/v1/pacts/{pact_id}/resolve
POST
/api/v1/pacts/{pact_id}/resolve

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

pact_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/pacts/string/resolve" \  -H "Content-Type: application/json" \  -d '{}'
{  "pact_id": "string",  "receipt": null,  "resolution": null,  "status": "open"}
POST/api/v1/pacts/{pact_id}/void
POST
/api/v1/pacts/{pact_id}/void

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

pact_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/pacts/string/void" \  -H "Content-Type: application/json" \  -d '{}'
{  "claim_ttl_seconds": 0,  "claimant": "string",  "contributions": [    {      "amount": 0,      "contributor_id": "string",      "joined_at": "2019-08-24T14:15:22Z"    }  ],  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "creator_fee_bps": 0,  "deadline": "2019-08-24T14:15:22Z",  "description": "string",  "dispute": null,  "dispute_window_seconds": 0,  "domain": "string",  "forfeit_destination": {    "kind": "sink"  },  "kind": "oath",  "metadata": null,  "outcomes": [    {      "label": "string",      "outcome_id": "string",      "pool": 0    }  ],  "pact_id": "string",  "pool_config": {    "beneficiary_id": "string",    "payout_amount": 0  },  "receipt": null,  "resolution": null,  "stake": {    "amount": 0,    "currency_id": "string",    "escrow_transfer_id": "string",    "escrow_wallet": "string"  },  "status": "open",  "title": "string",  "updated_at": "2019-08-24T14:15:22Z",  "verifier": {    "approvers": [      "string"    ],    "kind": "manual",    "required_approvers": 0,    "rubric": "string"  }}
GET/api/v1/positions
GET
/api/v1/positions

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

page?integer

1-indexed page number.

Formatint64
Range0 <= value
page_size?integer

Page size.

Formatint64
Range0 <= value

Response Body

application/json

curl -X GET "https://example.com/api/v1/positions"
{  "pagination": {    "has_more": true,    "page": 0,    "page_size": 0,    "total": 0  },  "positions": [    {      "amount": 0,      "created_at": "2019-08-24T14:15:22Z",      "holder_id": "string",      "outcome_id": "string",      "pact_id": "string",      "payout": 0,      "position_id": "string",      "settled": true    }  ]}

On this page