Treaties API icon

Treaties API

An API exposing details of the treaties laid before Parliament

COMMUNITYNO AUTH0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.1",
  "info": {
    "contact": {
      "email": "softwareengineering@parliament.uk",
      "name": "UK Parliament",
      "url": "https://www.parliament.uk/"
    },
    "description": "An API exposing details of the treaties laid before Parliament.",
    "title": "Treaties API",
    "version": "v1",
    "x-apisguru-categories": [
      "open_data"
    ],
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://treaties-api.parliament.uk/swagger/v1/swagger.json",
        "version": "3.0"
      }
    ],
    "x-providerName": "parliament.uk",
    "x-serviceName": "treaties",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "paths": {
    "/api/BusinessItem/{id}": {
      "get": {
        "operationId": "GetBusinessItemById",
        "parameters": [
          {
            "description": "Business item with the ID specified",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Business item with the ID specified",
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessItemResource"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessItemResource"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessItemResource"
                }
              }
            },
            "description": "The requested business item"
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "If the item doesn't exist"
          }
        },
        "summary": "Returns business item by ID.",
        "tags": [
          "BusinessItem"
        ]
      }
    },
    "/api/GovernmentOrganisation": {
      "get": {
        "operationId": "GetOrganisations",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GovernmentOrganisationResourceCollection"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GovernmentOrganisationResourceCollection"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GovernmentOrganisationResourceCollection"
                }
              }
            },
            "description": "Success"
          }
        },
        "summary": "Returns all government organisations.",
        "tags": [
          "GovernmentOrganisation"
        ]
      }
    },
    "/api/SeriesMembership": {
      "get": {
        "operationId": "GetSeriesMemberships",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SeriesMembershipResourceCollection"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SeriesMembershipResourceCollection"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SeriesMembershipResourceCollection"
                }
              }
            },
            "description": "Success"
          }
        },
        "summary": "Returns all series memberships.",
        "tags": [
          "SeriesMembership"
        ]
      }
    },
    "/api/Treaty": {
      "get": {
        "operationId": "GetTreaties",
        "parameters": [
          {
            "description": "Treaties which contains the search text specified",
            "in": "query",
            "name": "SearchText",
            "schema": {
              "description": "Treaties which contains the search text specified",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Treaties with the government organisation id specified",
            "in": "query",
            "name": "GovernmentOrganisationId",
            "schema": {
              "description": "Treaties with the government organisation id specified",
              "format": "int32",
              "maximum": 2147483647,
              "minimum": 1,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Treaties with the series membership type specified",
            "in": "query",
            "name": "Series",
            "schema": {
              "$ref": "#/components/schemas/SeriesMembershipType"
            }
          },
          {
            "description": "Treaties where the parliamentary process is concluded or notconcluded",
            "in": "query",
            "name": "ParliamentaryProcess",
            "schema": {
              "$ref": "#/components/schemas/ParliamentaryProcess"
            }
          },
          {
            "description": "Treaties which contain a scheduled debate",
            "in": "query",
            "name": "DebateScheduled",
            "schema": {
              "description": "Treaties which contain a scheduled debate",
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "Treaties which contain a motion to not ratify",
            "in": "query",
            "name": "MotionToNotRatify",
            "schema": {
              "description": "Treaties which contain a motion to not ratify",
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "Treaties which are recommended to not ratify",
            "in": "query",
            "name": "RecommendedNotRatify",
            "schema": {
              "description": "Treaties which are recommended to not ratify",
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "Treaties which are laid in the specified house",
            "in": "query",
            "name": "House",
            "schema": {
              "$ref": "#/components/schemas/House"
            }
          },
          {
            "description": "The number of records to skip from the first, default is 0",
            "in": "query",
            "name": "Skip",
            "schema": {
              "description": "The number of records to skip from the first, default is 0",
              "format": "int32",
              "maximum": 2147483647,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The number of records to return, default is 20",
            "in": "query",
            "name": "Take",
            "schema": {
              "description": "The number of records to return, default is 20",
              "format": "int32",
              "maximum": 2147483647,
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TreatyResourceCollection"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TreatyResourceCollection"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TreatyResourceCollection"
                }
              }
            },
            "description": "A list of treaties"
          },
          "400": {
            "description": "Bad Request"
          }
        },
        "summary": "Returns a list of treaties.",
        "tags": [
          "Treaty"
        ]
      }
    },
    "/api/Treaty/{id}": {
      "get": {
        "operationId": "GetTreatyById",
        "parameters": [
          {
            "description": "Treaty with ID specified",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Treaty with ID specified",
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TreatyResource"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TreatyResource"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TreatyResource"
                }
              }
            },
            "description": "Details of the requested treaty"
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "If the treaty can't be found"
          }
        },
        "summary": "Returns a treaty by ID.",
        "tags": [
          "Treaty"
        ]
      }
    },
    "/api/Treaty/{id}/BusinessItems": {
      "get": {
        "operationId": "GetBusinessItemsByTreatyId",
        "parameters": [
          {
            "description": "Business items belonging to treaty with the ID specified",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Business items belonging to treaty with the ID specified",
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessItemResourceCollection"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessItemResourceCollection"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessItemResourceCollection"
                }
              }
            },
            "description": "The business items for the requested treaty"
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "If the treaty cannot be found"
          }
        },
        "summary": "Returns business items belonging to the treaty with ID.",
        "tags": [
          "Treaty"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "BusinessItem": {
        "additionalProperties": false,
        "properties": {
          "businessItemUri": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "houseId": {
            "nullable": true,
            "type": "string"
          },
          "houseName": {
            "nullable": true,
            "type": "string"
          },
          "houseUri": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "houses": {
            "items": {
              "$ref": "#/components/schemas/BusinessItemHouse"
            },
            "nullable": true,
            "type": "array"
          },
          "id": {
            "nullable": true,
            "type": "string"
          },
          "itemDate": {
            "format": "date-time",
            "type": "string"
          },
          "link": {
            "nullable": true,
            "type": "string"
          },
          "procedureStepId": {
            "nullable": true,
            "type": "string"
          },
          "procedureStepUri": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "sequence": {
            "format": "int32",
            "type": "integer"
          },
          "stepName": {
            "nullable": true,
            "type": "string"
          },
          "treatyId": {
            "nullable": true,
            "type": "string"
          },
          "treatyUri": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "workpackageProcedureUri": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "BusinessItemHouse": {
        "additionalProperties": false,
        "properties": {
          "house": {
            "$ref": "#/components/schemas/House"
          },
          "name": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "BusinessItemResource": {
        "additionalProperties": false,
        "properties": {
          "links": {
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "nullable": true,
            "type": "array"
          },
          "value": {
            "$ref": "#/components/schemas/BusinessItem"
          }
        },
        "type": "object"
      },
      "BusinessItemResourceCollection": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/BusinessItemResource"
            },
            "nullable": true,
            "type": "array"
          },
          "itemsPerPage": {
            "format": "int32",
            "type": "integer"
          },
          "links": {
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "nullable": true,
            "type": "array"
          },
          "totalResults": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Department": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int32",
            "type": "integer"
          },
          "name": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "GovernmentOrganisation": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int32",
            "type": "integer"
          },
          "name": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "GovernmentOrganisationResource": {
        "additionalProperties": false,
        "properties": {
          "links": {
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "nullable": true,
            "type": "array"
          },
          "value": {
            "$ref": "#/components/schemas/GovernmentOrganisation"
          }
        },
        "type": "object"
      },
      "GovernmentOrganisationResourceCollection": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/GovernmentOrganisationResource"
            },
            "nullable": true,
            "type": "array"
          },
          "itemsPerPage": {
            "format": "int32",
            "type": "integer"
          },
          "links": {
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "nullable": true,
            "type": "array"
          },
          "totalResults": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "House": {
        "enum": [
          "Commons",
          "Lords"
        ],
        "type": "string"
      },
      "Link": {
        "additionalProperties": false,
        "properties": {
          "href": {
            "nullable": true,
            "type": "string"
          },
          "method": {
            "nullable": true,
            "type": "string"
          },
          "rel": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ParliamentaryConclusion": {
        "enum": [
          "NotConcluded",
          "CanRatify",
          "CantRatify"
        ],
        "type": "string"
      },
      "ParliamentaryProcess": {
        "enum": [
          "NotConcluded",
          "Concluded"
        ],
        "type": "string"
      },
      "SeriesMembership": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SeriesMembershipResource": {
        "additionalProperties": false,
        "properties": {
          "links": {
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "nullable": true,
            "type": "array"
          },
          "value": {
            "$ref": "#/components/schemas/SeriesMembership"
          }
        },
        "type": "object"
      },
      "SeriesMembershipResourceCollection": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SeriesMembershipResource"
            },
            "nullable": true,
            "type": "array"
          },
          "itemsPerPage": {
            "format": "int32",
            "type": "integer"
          },
          "links": {
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "nullable": true,
            "type": "array"
          },
          "totalResults": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SeriesMembershipType": {
        "enum": [
          "CountrySeriesMembership",
          "EuropeanUnionSeriesMembership",
          "MiscellaneousSeriesMembership"
        ],
        "type": "string"
      },
      "Treaty": {
        "additionalProperties": false,
        "properties": {
          "commandPaperNumber": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "commandPaperPrefix": {
            "nullable": true,
            "type": "string"
          },
          "commonsLayingDate": {
            "format": "date-time",
            "type": "string"
          },
          "countrySeriesItemCitation": {
            "nullable": true,
            "type": "string"
          },
          "countrySeriesMembership": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "debateScheduled": {
            "nullable": true,
            "type": "string"
          },
          "europeanSeriesItemCitation": {
            "nullable": true,
            "type": "string"
          },
          "europeanUnionSeriesMembership": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "nullable": true,
            "type": "string"
          },
          "layingBodyDepartment": {
            "$ref": "#/components/schemas/Department"
          },
          "layingBodyDepartmentId": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "layingBodyName": {
            "nullable": true,
            "type": "string"
          },
          "leadDepartment": {
            "$ref": "#/components/schemas/Department"
          },
          "leadGovernmentOrganisationDepartmentId": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "leadGovernmentOrganisationGroupName": {
            "nullable": true,
            "type": "string"
          },
          "lordsLayingDate": {
            "format": "date-time",
            "type": "string"
          },
          "miscSeriesItemCitation": {
            "nullable": true,
            "type": "string"
          },
          "miscellaneousSeriesMembership": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "parliamentaryConclusion": {
            "$ref": "#/components/schemas/ParliamentaryConclusion"
          },
          "treatySeriesMembership": {
            "$ref": "#/components/schemas/TreatySeriesMembership"
          },
          "uri": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "webLink": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TreatyResource": {
        "additionalProperties": false,
        "properties": {
          "links": {
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "nullable": true,
            "type": "array"
          },
          "value": {
            "$ref": "#/components/schemas/Treaty"
          }
        },
        "type": "object"
      },
      "TreatyResourceCollection": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/TreatyResource"
            },
            "nullable": true,
            "type": "array"
          },
          "itemsPerPage": {
            "format": "int32",
            "type": "integer"
          },
          "links": {
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "nullable": true,
            "type": "array"
          },
          "totalResults": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "TreatySeriesMembership": {
        "additionalProperties": false,
        "properties": {
          "citation": {
            "nullable": true,
            "type": "string"
          },
          "seriesMembershipType": {
            "$ref": "#/components/schemas/SeriesMembershipType"
          },
          "uri": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      }
    }
  }
}