Table of contents

Digital Marketplace API v1.0.0

Scroll down for example requests and responses.

Digital Marketplace internal API

Base URLs:

Authentication

  • API Key
    • Parameter Name: Authorization, in: header.

Main

GET /

Root API endpoint

Responses

Status Meaning Description
200 OK A collection of main API endpoint links
401 Unauthorized Response to an unauthorized request to the API
403 Forbidden Response to a request with an invalid authentication token

Example responses

{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /_status

Request the API health-check status

Checks if the API instance is operational, whether it can connect to the database and returns the status, current release number, list of feature flags and framework statuses.

Parameters

Parameter In Type Description
ignore-dependencies query boolean When present, return the status of the API web application itself, without connecting to the database.

Responses

Status Meaning Description
200 OK OK status response

Example responses

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    }
  }
}

Agreements

POST /agreements

Create a supplier agreement

Create a supplier agreement.

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "agreement": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
201 Created Created supplier agreement
400 Bad Request Failed to create requested agreement
404 Not Found Failed to create requested agreement due to a missing referenced object

Example responses

{
  "type": "object",
  "properties": {
    "agreement": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /agreements/{agreement_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
agreement_id path integer Example: /agreements/32 (required)

Responses

Status Meaning Description
200 OK DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "agreement": {
      "type": "object"
    }
  }
}

POST /agreements/{agreement_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
agreement_id path integer Example: /agreements/32 (required)
body body object Request body (required)

Body parameter

{
  "agreement": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "agreement": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /agreements/{agreement_id}/approve

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
agreement_id path integer Example: /agreements/54/approve (required)
body body object Request body (required)

Body parameter

{
  "agreement": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "agreement": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /agreements/{agreement_id}/on-hold

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
agreement_id path integer Example: /agreements/46/on-hold (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "agreement": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /agreements/{agreement_id}/sign

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
agreement_id path integer Example: /agreements/39/sign (required)
body body object Request body (required)

Body parameter

{
  "agreement": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "agreement": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

Archived-services

GET /archived-services

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
service-id query integer Examples: 1234567890123458,
service-id query string Examples: not-valid,
service-id

Examples: 1234567890123458, 178347946729365, 12345678901234

service-id

Examples: not-valid, 1234567890.1

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "services": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /archived-services/{archived_service_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
archived_service_id path integer Example: /archived-services/5 (required)

Responses

Status Meaning Description
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

Audit-events

GET /audit-events

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
latest_first query boolean Examples: true
acknowledged query boolean Examples: true,
object-id query integer Examples: 1
page query integer Examples: 2
per_page query integer Examples: 10,
audit-date query string Examples: 2017-06-27,
audit-type query string Examples: contact_update
object-type query string Examples: suppliers
acknowledged query string Examples: all,
page query string Examples: invalid
per_page query string Examples: foo,
acknowledged

Examples: true, false

per_page

Examples: 10, 2, 1, 100000, 100

audit-date

Examples: 2017-06-27, 2000-01-01

acknowledged

Examples: all, 2017-06-27, 2000-01-01, contact_update, suppliers, invalid

per_page

Examples: foo, invalid, suppliers

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "auditEvents": {
      "type": "array"
    },
    "links": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /audit-events

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "auditEvents": {
    "type": "object"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "auditEvents": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /audit-events/{audit_event_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
audit_event_id path integer Example: /audit-events/314159 (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "auditEvents": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /audit-events/{audit_event_id}/acknowledge

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
audit_event_id path integer Example: /audit-events/invalid-id!/acknowledge (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  },
  "key": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "auditEvents": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

Brief-responses

GET /brief-responses

SUMMARY

DESCRIPTION

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefResponses": {
      "type": "array"
    },
    "links": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /brief-responses

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "briefResponses": {
    "type": "object"
  },
  "page_questions": {
    "type": "array"
  },
  "updated_by": {
    "type": "string"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefResponses": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object"
    }
  }
}

GET /brief-responses/{brief_response_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_response_id path integer Example: /brief-responses/999 (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefResponses": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /brief-responses/{brief_response_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_response_id path integer Example: /brief-responses/999 (required)
body body object Request body (required)

Body parameter

{
  "briefResponses": {
    "type": "object"
  },
  "page_questions": {
    "type": "array"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefResponses": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /brief-responses/{brief_response_id}/submit

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_response_id path integer Example: /brief-responses/100/submit (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefResponses": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

Briefs

GET /briefs

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
status query array[string] Examples: draft,live
framework query array[string] Examples: digital-outcomes-and-specialists,analogue-outcomes-and-specialists
lot query array[string] Examples: digital-specialists,user-research-participants,
with_users query boolean Examples: true,
user_id query integer Examples: 1
page query integer Examples: 2,
status query string Examples: live,
framework query string Examples: digital-outcomes-and-specialists,
lot query string Examples: digital-outcomes,
human query string Examples: True
with_users query string Examples: True
lot

Examples: digital-specialists,user-research-participants, banana,digital-specialists,,user-research-participants,

with_users

Examples: true, false

page

Examples: 2, 1

status

Examples: live, invalid

framework

Examples: digital-outcomes-and-specialists, digital-biscuits-and-cakes, draft

lot

Examples: digital-outcomes, live

Responses

Status Meaning Description
200 OK DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefs": {
      "type": "array"
    },
    "links": {
      "type": "object"
    },
    "meta": {
      "type": "object"
    }
  }
}

POST /briefs

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "briefs": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  },
  "update_details": {
    "type": "object"
  },
  "page_questions": {
    "type": "array"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefs": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /briefs/{brief_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_id path integer Example: /briefs/0000000000 (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefs": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /briefs/{brief_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_id path integer Example: /briefs/0000000000 (required)
body body object Request body (required)

Body parameter

{
  "briefs": {
    "type": "object"
  },
  "update_details": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  },
  "page_questions": {
    "type": "array"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefs": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

DELETE /briefs/{brief_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_id path integer Example: /briefs/0000000000 (required)
body body object Request body (required)

Body parameter

{
  "update_details": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /briefs/{brief_id}/clarification-questions

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_id path integer Example: /briefs/1/clarification-questions (required)

Responses

Status Meaning Description
405 Method Not Allowed DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /briefs/{brief_id}/clarification-questions

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_id path integer Example: /briefs/1/clarification-questions (required)
body body object Request body (required)

Body parameter

{
  "clarificationQuestion": {
    "type": "object"
  },
  "update_details": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefs": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /briefs/{brief_id}/copy

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_id path integer Example: /briefs/1/copy (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefs": {
      "type": "object"
    }
  }
}

POST /briefs/{brief_id}/publish

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_id path integer Example: /briefs/1/publish (required)
body body object Request body (required)

Body parameter

{
  "update_details": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefs": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /briefs/{brief_id}/services

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_id path integer Example: /briefs/1/services?supplier_id=0 (required)
supplier_id query integer Examples: 0

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /briefs/{brief_id}/withdraw

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
brief_id path integer Example: /briefs/1/withdraw (required)
body body object Request body (required)

Body parameter

{
  "update_details": {
    "type": "object"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "briefs": {
      "type": "object"
    }
  }
}

Draft-services

GET /draft-services

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id query integer Examples: 1,
framework query string Examples: g-cloud-6,
supplier_id query string Examples: invalid
service_id query string Examples: invalid-id!,
supplier_id

Examples: 1, 12345667

framework

Examples: g-cloud-6, g-cloud-7

service_id

Examples: invalid-id!, this-is-not-valid

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "services": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /draft-services

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "services": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  },
  "page_questions": {
    "type": "array"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

PUT /draft-services/copy-from/{service_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
service_id path integer Example: /draft-services/copy-from/0000000000 (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /draft-services/{draft_service_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
draft_service_id path integer Example: /draft-services/94 (required)
body body object Request body (required)

Body parameter

{
  "services": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "auditEvents": {
      "type": "object"
    },
    "services": {
      "type": "object"
    },
    "validationErrors": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /draft-services/{draft_service_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
draft_service_id path integer Example: /draft-services/94 (required)
body body object Request body (required)

Body parameter

{
  "services": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  },
  "page_questions": {
    "type": "array"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object"
    }
  }
}

DELETE /draft-services/{draft_service_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
draft_service_id path integer Example: /draft-services/94 (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /draft-services/{draft_service_id}/complete

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
draft_service_id path integer Example: /draft-services/102/complete (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object"
    }
  }
}

POST /draft-services/{draft_service_id}/copy

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
draft_service_id path integer Example: /draft-services/1000/copy (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /draft-services/{draft_service_id}/publish

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
draft_service_id path integer Example: /draft-services/98765/publish (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /draft-services/{draft_service_id}/update-status

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
draft_service_id path integer Example: /draft-services/108/update-status (required)
body body object Request body (required)

Body parameter

{
  "services": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

Frameworks

GET /frameworks

SUMMARY

DESCRIPTION

Responses

Status Meaning Description
200 OK DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "frameworks": {
      "type": "array"
    }
  }
}

POST /frameworks

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "frameworks": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "frameworks": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /frameworks/{framework_slug}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
framework_slug path string Example: /frameworks/example-framework-2 (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "frameworks": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /frameworks/{framework_slug}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
framework_slug path string Example: /frameworks/example-framework-2 (required)
body body object Request body (required)

Body parameter

{
  "frameworks": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "frameworks": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /frameworks/{framework_slug}/interest

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
framework_slug path string Example: /frameworks/biscuits-for-gov/interest (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "interestedSuppliers": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /frameworks/{framework_slug}/stats

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
framework_slug path string Example: /frameworks/g-cloud-7/stats (required)

Responses

Status Meaning Description
200 OK DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "interested_suppliers": {
      "type": "array"
    },
    "services": {
      "type": "array"
    },
    "supplier_users": {
      "type": "array"
    }
  }
}

GET /frameworks/{framework_slug}/suppliers

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
framework_slug path string Example: /frameworks/g-cloud-8/suppliers (required)
status query array[string] Examples: approved,countersigned,
with_users query boolean Examples: true
agreement_returned query boolean Examples: false,
with_declarations query boolean Examples: false,
status query string Examples: signed,
status

Examples: approved,countersigned, signed,approved

agreement_returned

Examples: false, true

with_declarations

Examples: false, true

status

Examples: signed, on-hold, approved, countersigned

Responses

Status Meaning Description
200 OK DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "supplierFrameworks": {
      "type": "array"
    }
  }
}

Services

GET /services

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
framework query array[string] Examples: g-cloud-4,g-cloud-5
status query array[string] Examples: disabled,enabled,
supplier_id query integer Examples: 1
page query integer Examples: 2,
framework query string Examples: g-cloud-7,
status query string Examples: published,
lot query string Examples: digital-specialists,
role query string Examples: agileCoach
location query string Examples: London,
page query string Examples: a
supplier_id query string Examples: a,
status

Examples: disabled,enabled, published,enabled

page

Examples: 2, 1, 3, 10, 0, 54321, 100

framework

Examples: g-cloud-7, g-cloud-4

status

Examples: published, enabled, disabled

lot

Examples: digital-specialists, digital-outcomes

location

Examples: London, digital-specialists, agileCoach, Wales

supplier_id

Examples: a, Wales, agileCoach, digital-outcomes, digital-specialists

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "services": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /services

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "services": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
405 Method Not Allowed DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /services/{service_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
service_id path integer Example: /services/abc123 (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "serviceMadeUnavailableAuditEvent": {
      "type": "object"
    },
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /services/{service_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
service_id path integer Example: /services/abc123 (required)
body body object Request body (required)

Body parameter

{
  "services": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

PUT /services/{service_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
service_id path integer Example: /services/abc123 (required)
body body object Request body (required)

Body parameter

{
  "services": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /services/{service_id}/status/{status}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
service_id path integer Example: /services/1234567890123458/status/enabeld (required)
status path string Example: /services/1234567890123458/status/enabeld (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "services": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "array"
    }
  }
}

Suppliers

GET /suppliers

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
page query integer Examples: 2
duns_number query integer Examples: 123,
prefix query string Examples: canada,
framework query string Examples: gcloud,
duns_number query string Examples: not-existing,
page query string Examples: a,
duns_number

Examples: 123, 10, 0

prefix

Examples: canada, other, s, t

framework

Examples: gcloud, g-cloud, bad

duns_number

Examples: not-existing, s

page

Examples: a, invalid!, s

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "suppliers": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /suppliers

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "suppliers": {
    "type": "object"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "suppliers": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "array"
    }
  }
}

PUT /suppliers

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "suppliers": {
    "type": "object"
  }
}

Responses

Status Meaning Description
405 Method Not Allowed DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /suppliers/{supplier_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/234567 (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "suppliers": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /suppliers/{supplier_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/234567 (required)
body body object Request body (required)

Body parameter

{
  "suppliers": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  },
  "links": {
    "type": "array"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "suppliers": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

PUT /suppliers/{supplier_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/234567 (required)
body body object Request body (required)

Body parameter

{
  "suppliers": {
    "type": "object"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "suppliers": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /suppliers/{supplier_id}/contact-information/{contact_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/123456/contact-information/100000 (required)
contact_id path integer Example: /suppliers/123456/contact-information/100000 (required)
body body object Request body (required)

Body parameter

{
  "contactInformation": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "contactInformation": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /suppliers/{supplier_id}/frameworks

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/4/frameworks (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "frameworkInterest": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /suppliers/{supplier_id}/frameworks/interest

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/1/frameworks/interest (required)

Responses

Status Meaning Description
200 OK DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "frameworks": {
      "type": "array"
    }
  }
}

GET /suppliers/{supplier_id}/frameworks/{framework_slug}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/1/frameworks/g-cloud-8 (required)
framework_slug path string Example: /suppliers/1/frameworks/g-cloud-8 (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "frameworkInterest": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /suppliers/{supplier_id}/frameworks/{framework_slug}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/1/frameworks/g-cloud-8 (required)
framework_slug path string Example: /suppliers/1/frameworks/g-cloud-8 (required)
body body object Request body (required)

Body parameter

{
  "frameworkInterest": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "frameworkInterest": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

PUT /suppliers/{supplier_id}/frameworks/{framework_slug}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/1/frameworks/g-cloud-8 (required)
framework_slug path string Example: /suppliers/1/frameworks/g-cloud-8 (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  },
  "services": {
    "type": "object"
  },
  "update": {
    "type": "object"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
201 Created DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "frameworkInterest": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "frameworkInterest": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

PUT /suppliers/{supplier_id}/frameworks/{framework_slug}/declaration

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/0/frameworks/g-cloud-4/declaration (required)
framework_slug path string Example: /suppliers/0/frameworks/g-cloud-4/declaration (required)
body body object Request body (required)

Body parameter

{
  "declaration": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
201 Created DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "declaration": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "declaration": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

PUT /suppliers/{supplier_id}/frameworks/{framework_slug}/variation/{variation_slug}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id path integer Example: /suppliers/1/frameworks/g-cloud-8/variation/banana (required)
framework_slug path string Example: /suppliers/1/frameworks/g-cloud-8/variation/banana (required)
variation_slug path string Example: /suppliers/1/frameworks/g-cloud-8/variation/banana (required)
body body object Request body (required)

Body parameter

{
  "agreedVariations": {
    "type": "object"
  },
  "updated_by": {
    "type": "string"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
403 Forbidden DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "agreedVariations": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

Users

GET /users

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
supplier_id query integer Examples: 1,
email_address query string Examples: j@examplecompany.biz
role query string Examples: buyer,
supplier_id query string Examples: not_an_integer,
supplier_id

Examples: 1, 2

role

Examples: buyer, admin

supplier_id

Examples: not_an_integer, incorrect, jbond@mi6.biz

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "users": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /users

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "users": {
    "type": "object"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
201 Created DESCRIPTION
400 Bad Request DESCRIPTION
409 Conflict DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "users": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /users/auth

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
body body object Request body (required)

Body parameter

{
  "authUsers": {
    "type": "object"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
403 Forbidden DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "users": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "authorization": {
      "type": "integer"
    }
  }
}
{
  "type": "object",
  "properties": {
    "authorization": {
      "type": "integer"
    }
  }
}

GET /users/check-buyer-email

SUMMARY

DESCRIPTION

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "valid": {
      "type": "integer"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /users/export/{framework_slug}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
framework_slug path string Example: /users/export/digital-outcomes-and-specialists (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "users": {
      "type": "array"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

GET /users/{user_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
user_id path integer Example: /users/bogus (required)

Responses

Status Meaning Description
200 OK DESCRIPTION
404 Not Found DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "users": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}

POST /users/{user_id}

SUMMARY

DESCRIPTION

Parameters

Parameter In Type Description
user_id path integer Example: /users/bogus (required)
body body object Request body (required)

Body parameter

{
  "updated_by": {
    "type": "string"
  },
  "users": {
    "type": "object"
  },
  "services": {
    "type": "object"
  }
}

Responses

Status Meaning Description
200 OK DESCRIPTION
400 Bad Request DESCRIPTION

Example responses

{
  "type": "object",
  "properties": {
    "users": {
      "type": "object"
    }
  }
}
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    }
  }
}