"openapi: 3.0.1\ninfo:\n title: Dynamic Client Registration\n x-technical-name: openbanking-dcr\n version: 3.3.0\n description: |-\n Dynamic Client Registration (DCR) API provides the ability for TPP to submit a Software Statement Assertion (SSA) to Santander for the purpose of registering and managing OAuth clients.\n The TPPs can use this API to\n * Register a new client\n * Retrieve the details for a client that has already been registered\n * Modify one or more attributes related to an existing client\n * Delete an existing client\n contact:\n name: Open Banking Support\n email: OpenBankingAPIsecurityteam@santander.co.uk # Please include here team mailbox \/ distribution list email address\n url: 'https:\/\/directory.openbanking.org.uk\/obieservicedesk\/s\/'\n x-santander-catalogation:\n bian-landscape-version: 8\n bian-business-area: sales & service\n bian-business-domain: cross channel\n bian-service-domain: party authentication\n license:\n name: Terms of Reference\n url: 'https:\/\/www.openbanking.org.uk\/terms'\n x-api-type: OAuth\nx-portal-category: Security\nservers:\n - url: https:\/\/personal-ma-ob.omni.slz.santander.co.uk\n - url: https:\/\/business-ma-ob.omni.slz.santander.co.uk\n - url: https:\/\/corporate-ma-ob.omni.slz.santander.co.uk\npaths:\n \/oauth2\/register:\n post:\n tags:\n - DCR\n summary: 'Register or create a new client for the TPP'\n description: 'This API allows the TPP to register (create) a new client. The TPP submits a JWS payload that describes the characteristics of the client to be created. If client creation is successful, then a response with a JSON payload describing the client that was created is returned. The TPP can then use the client to access Santander''s Open Banking resources. If client creation is unsuccessful, then a response with an error payload is returned.'\n parameters:\n - in: header\n name: Accept\n required: true\n schema:\n type: string\n enum: [application\/json]\n description: Must be set to `application\/json`\n - in: header\n name: Content-Type\n required: true\n schema:\n type: string\n enum: [application\/jose]\n description: Must be set to `application\/jose`\n requestBody:\n required: true\n content:\n text\/plain:\n schema:\n type: string\n example: DCR JWT\n responses:\n '201':\n description: 'Result Created. Returns a JSON document containing TPP details.'\n content:\n application\/json:\n schema:\n type: string\n #schema:\n # $ref: '#\/components\/schemas\/tpp'\n '400':\n description: Bad Request\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '400'\n '401':\n description: Unauthorized\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '401'\n '403':\n description: Forbidden\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '403'\n '404':\n description: Not Found\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '404'\n '429':\n description: Too Many Request\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '429'\n '500':\n description: Internal Server Error\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '500'\n '501':\n description: Not Implemented\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '501'\n '502':\n description: Bad Gateway\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '502'\n '503':\n description: Service Unavailable\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '503'\n '504':\n description: Gateway Timeout\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '504'\n \/oauth2\/register\/{clientId}:\n get:\n tags:\n - DCR\n summary: 'Retrieve the details for a client that has already been registered'\n description: 'Endpoint for the TPP to Retrieve the details for a client that has already been registered with Santander.'\n parameters:\n - in: path\n name: clientId\n schema:\n type: string\n required: true\n description: Alfa numeric ID of the client to get\n - in: header\n name: Authorization\n required: true\n schema:\n type: string\n description: An Authorisation Token as per https:\/\/tools.ietf.org\/html\/rfc6750\n responses:\n '200':\n description: 'Result OK. Returns a json document containing tpp details.'\n content:\n application\/json:\n schema:\n type: string\n '400':\n description: Bad Request\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '400'\n '401':\n description: Unauthorized\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '401'\n '403':\n description: Forbidden\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '403'\n '404':\n description: Not Found\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '404'\n '429':\n description: Too Many Request\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '429'\n '500':\n description: Internal Server Error\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '500'\n '501':\n description: Not Implemented\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '501'\n '502':\n description: Bad Gateway\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '502'\n '503':\n description: Service Unavailable\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '503'\n '504':\n description: Gateway Timeout\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '504'\n put:\n tags:\n - DCR\n summary: 'Modify one or more attributes related to an existing client'\n description: 'This is the Endpoint for the TPP to modify one or more attributes related to an existing client'\n parameters:\n - in: path\n name: clientId\n schema:\n type: string\n required: true\n description: Alfa numeric ID of the client to get\n - in: header\n name: Accept\n required: true\n schema:\n type: string\n enum: [application\/json]\n description: Must be set to `application\/json`\n - in: header\n name: Content-Type\n required: true\n schema:\n type: string\n enum: [application\/jose]\n description: Must be set to `application\/jose`\n - in: header\n name: Authorization\n required: true\n schema:\n type: string\n description: An Authorisation Token as per https:\/\/tools.ietf.org\/html\/rfc6750\n requestBody:\n required: true\n content:\n text\/plain:\n schema:\n type: string\n example: DCR JWT\n responses:\n '200':\n description: 'Result OK. Returns a json document containing tpp details.'\n content:\n application\/json:\n schema:\n type: string\n #schema:\n # $ref: '#\/components\/schemas\/tpp'\n '400':\n description: Bad Request\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '400'\n '401':\n description: Unauthorized\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '401'\n '403':\n description: Forbidden\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '403'\n '404':\n description: Not Found\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '404'\n '429':\n description: Too Many Request\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '429'\n '500':\n description: Internal Server Error\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '500'\n '501':\n description: Not Implemented\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '501'\n '502':\n description: Bad Gateway\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '502'\n '503':\n description: Service Unavailable\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '503'\n '504':\n description: Gateway Timeout\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '504'\n delete:\n tags:\n - DCR\n summary: 'Delete an existing client of a TPP'\n description: 'This is the endpoint for the TPP to delete an existing client that is identified by the ClientId'\n parameters:\n - in: path\n name: clientId\n schema:\n type: string\n required: true\n description: Alfa numeric ID of the client to get\n - in: header\n name: Authorization\n required: true\n schema:\n type: string\n description: An Authorisation Token as per https:\/\/tools.ietf.org\/html\/rfc6750\n responses:\n '200':\n description: 'Result OK. Returns a json document containing tpp details.'\n content:\n application\/json:\n schema:\n type: string\n '400':\n description: Bad Request\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '400'\n '401':\n description: Unauthorized\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '401'\n '403':\n description: Forbidden\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '403'\n '404':\n description: Not Found\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '404'\n '429':\n description: Too Many Request\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '429'\n '500':\n description: Internal Server Error\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '500'\n '501':\n description: Not Implemented\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '501'\n '502':\n description: Bad Gateway\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '502'\n '503':\n description: Service Unavailable\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '503'\n '504':\n description: Gateway Timeout\n content:\n application\/json:\n schema:\n allOf:\n - $ref: '#\/components\/schemas\/errorResponse'\n - type: object\n properties:\n httpCode:\n type: string\n example: '504'\ncomponents:\n responses:\n BadRequest:\n description: Invalid request\n content:\n application\/json:\n schema:\n type: string\n example: 'Invalid request'\n Unauthorized:\n description: Unauthorized\n content:\n application\/json:\n schema:\n type: string\n example: 'Unauthorized'\n Forbidden:\n description: Forbidden\n content:\n application\/json:\n schema:\n type: string\n example: 'Forbidden'\n NotFound:\n description: Not Found\n content:\n application\/json:\n schema:\n type: string\n example: 'Not Found'\n TooManyRequests:\n description: Too Many Requests\n content:\n application\/json:\n schema:\n type: string\n example: 'Too Many Requests'\n InternalServerError:\n description: Internal Server Error\n content:\n application\/json:\n schema:\n type: string\n example: 'Internal Server Error'\n BadGateway:\n description: Bad Gateway\n content:\n application\/json:\n schema:\n type: string\n example: 'Bad Gateway'\n ServiceUnavailable:\n description: Service Unavailable\n content:\n application\/json:\n schema:\n type: string\n example: 'Service Unavailable'\n GatewayTimeout:\n description: Gateway Timeout\n content:\n application\/json:\n schema:\n type: string\n example: 'Gateway Timeout'\n schemas:\n errorResponse:\n type: object\n properties:\n httpCode:\n type: string\n description: Error code which represents the problem that occurred during processing\n httpMessage:\n type: string\n description: Error message which represents the problem that occurred during processing\n example: An error occurred\n moreInformation:\n type: string\n description: Additional information about the error returned\n example: Further details about the error\n access_token_response:\n type: object\n additionalProperties: false\n required:\n - token_type\n - access_token\n - expires_in\n properties:\n token_type:\n enum:\n - bearer\n access_token:\n type: string\n expires_in:\n type: integer\n scope:\n type: string\n refresh_token:\n type: string\n"
{}