openapi: 3.1.0 info: title: 'debiX Auth Provider API: Provider-to-SIX 3DS BulkSubscriptionResults API' version: 2.1.9 description: Callback API used by the Authentication Provider and implemented by SIX / debiX servers: - url: https://api.six-group.com/api/debix-auth/provider-auth/v2 description: PROD - Internet - url: https://api-preprod.np.six-group.com/api/debix-auth/provider-auth/v2 description: TEST - Internet - url: https://api.six.ssfn.ch/api/debix-auth/provider-auth/v2 description: PROD - SSFN - url: https://api-preprod.np.six.ssfn.ch/api/debix-auth/provider-auth/v2 description: TEST - SSFN - url: https://api.p2p.six-group.com/api/debix-auth/provider-auth/v2 description: PROD - P2P - url: https://api-preprod.np.p2p.six-group.com/api/debix-auth/provider-auth/v2 description: TEST - P2P tags: - name: BulkSubscriptionResults description: Obtain the (basic) settlement information for securities included in the business partner's subscription. paths: /bulk-subscription/resultsFile: summary: The (basic) settlement information for the securities in the business partner's subscription. get: tags: - BulkSubscriptionResults summary: Get the (basic) settlement information for all securities in the business partner's subscription as a gzipped file. description: 'Get the basic settlement information for all securities defined by the business partner in its subscription as a gzipped file. Settlement information is previous business day and the subscription list taken into account is the one available on the server before midnight.' operationId: getBasicSettlementInfoForSubscriptionAsFile parameters: - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/IfNoneMatch' responses: '200': $ref: '#/components/responses/Http200BasicSettlementInfoFile' '304': $ref: '#/components/responses/Http304NotModified' '400': $ref: '#/components/responses/Http400ErrorResponse_GetResults' '401': $ref: '#/components/responses/Http401ErrorResponse' '403': $ref: '#/components/responses/Http403ErrorResponse' '404': $ref: '#/components/responses/Http404ErrorResponse_NoResults' '429': $ref: '#/components/responses/Http429ErrorResponse' '500': $ref: '#/components/responses/Http500ErrorResponse' '503': $ref: '#/components/responses/Http503ErrorResponse' '504': $ref: '#/components/responses/Http504ErrorResponse' components: schemas: ErrorDetail: required: - status type: object properties: type: type: string description: 'A URI reference (RFC3986) that describes the problem type (in the context of the provided API). Should resolve to a human-readable document.' format: uri default: about:blank title: type: string description: A short, human-readable summary of the problem type in English. example: Not Found status: maximum: 599 minimum: 100 type: integer description: The HTTP status code (RFC7231, Section 6) generated by the origin server for this occurrence of the problem. format: int32 example: 400 detail: type: string description: A human-readable explanation specific to this occurrence of the problem. example: ISIN 'US012071998' does not exist. instance: type: string description: A URI reference (RFC3986) that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. format: uri example: https://www.example.com/books/1234 description: Detailed description of an error to help remediation. It follows RFC 7807 (https://datatracker.ietf.org/doc/html/rfc7807). Error: required: - message type: object properties: message: type: string description: A human-readable explanation specific to this error. example: Unauthorized errorDetail: description: Additional information about the error. allOf: - $ref: '#/components/schemas/ErrorDetail' description: Description of an error to help remediation. ErrorDetail400: type: object description: Detailed description of a 400 error to help remediation. It extends RFC 7807 (https://datatracker.ietf.org/doc/html/rfc7807) with missing and invalid parameters information. allOf: - $ref: '#/components/schemas/ErrorDetail' - properties: invalidParams: minItems: 1 type: array description: List of parameters with invalid values. items: $ref: '#/components/schemas/InvalidParameter' missingParams: minItems: 1 type: array description: List of missing parameters. items: $ref: '#/components/schemas/MissingParameter' InvalidParameter: required: - in - name - value type: object properties: in: description: Location of the invalid parameter. allOf: - $ref: '#/components/schemas/ParameterLocation' name: type: string description: Name of the invalid parameter. reason: type: string description: The reason why the parameter's value is invalid. value: type: string description: The invalid value. description: Description of a parameter with invalid value. ETag: pattern: ^(W\/)?"([^"]|\\")*"$ type: string description: The RFC7232 ETag (Entity Tag) header field (see https://www.rfc-editor.org/rfc/rfc7232#section-2.3) in a response provides the current entity-tag for the selected resource. An entity-tag is an opaque identifier for different versions of a resource over time, regardless whether multiple versions are valid at the same time. An entity-tag consists of an opaque quoted string, possibly prefixed by a weakness indicator ('W/'). example: W/"xyzzy" MissingParameter: required: - in - name type: object properties: in: description: Location of the missing parameter. allOf: - $ref: '#/components/schemas/ParameterLocation' name: type: string description: Name of the missing parameter. reason: type: string description: The reason why the parameter's value is missing. description: Description of a missing parameter. ApiGwError: required: - message type: object properties: message: type: string description: A human-readable explanation specific to this error. example: Unauthorized description: Description of an error as provided by the API GW to help remediation. ParameterLocation: type: string description: The location of the parameter in question enum: - BODY - PATH - QUERY - HEADER Error400: required: - message type: object properties: message: type: string description: A human-readable explanation specific to this error. example: Unauthorized errorDetail: description: Additional information about the error. allOf: - $ref: '#/components/schemas/ErrorDetail400' description: Description of a 400 error to help remediation. XCorrelationIdType: pattern: ^[0-9A-Fa-f]{8}-?[0-9A-Fa-f]{4}-?4[0-9A-Fa-f]{3}-?[89ABab][0-9A-Fa-f]{3}-?[0-9A-Fa-f]{12}(#[1-9][0-9]*)?$ type: string description: Value of the correlation ID for the server, i.e., a UUID v4 (with or without the dash to separate the blocks), optionally followed by a '#' and a positive integer. headers: RateLimit-Remaining: description: 'Provides the remaining requests quota in the current time window (for the specific client). See the ''RateLimit Header Fields for HTTP'' (https://datatracker.ietf.org/doc/html/draft-polli-ratelimit-headers-01) for more information.' style: simple explode: false schema: minimum: 0 type: integer example: 1 RateLimit-Limit: description: 'Provides the the requests quota in the time window (i.e., the maximal number of acceptable requests for the client within the time window). See the ''RateLimit Header Fields for HTTP'' (https://datatracker.ietf.org/doc/html/draft-polli-ratelimit-headers-01) for more information.' style: simple explode: false schema: minimum: 0 type: integer example: 10 X-Correlation-Id: description: Correlation identifier of the original request. style: simple explode: false schema: $ref: '#/components/schemas/XCorrelationIdType' examples: As generated by client: value: ef199b05-d1ff-4a2b-b5ef-2bb3ab3f0820 As generated by API GW: value: ef199b05-d1ff-4a2b-b5ef-2bb3ab3f0820#23 RateLimit-Reset: description: 'Indicates the number of seconds until the quota resets. See the ''RateLimit Header Fields for HTTP'' (https://datatracker.ietf.org/doc/html/draft-polli-ratelimit-headers-01) for more information.' style: simple explode: false schema: minimum: 0 type: integer example: 50 Retry-After: description: 'Indicates the number of seconds the client ought to wait before making a follow-up request. See RFC7231, ยง7.1.3 (https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.3). *Note: might be higher than ''RateLimit-Reset''.*' style: simple explode: false schema: minimum: 0 type: integer example: 50 ETag: description: Identifier of the current version of the resource. style: simple explode: false schema: $ref: '#/components/schemas/ETag' example: '"A39AC1BFFADB215999106EC2B74AAA"' parameters: IfNoneMatch: name: If-None-Match in: header description: The RFC7232 If-None-Match header field in a request requires the server to only operate on the resource if it does not match any of the provided entity-tags. If the provided entity-tag is `*`, it is required that the resource does not exist at all. required: false style: simple explode: false schema: type: string example: 7da7a728-f910-11e6-942a-68f728c1ba70 CorrelationId: name: X-Correlation-Id in: header description: Correlation identifier for the request required: false style: simple explode: false schema: $ref: '#/components/schemas/XCorrelationIdType' examples: As generated by client: value: ef199b05-d1ff-4a2b-b5ef-2bb3ab3f0820 As generated by API GW: value: ef199b05-d1ff-4a2b-b5ef-2bb3ab3f0820#23 responses: Http503ErrorResponse: description: Service Unavailable headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' content: application/json: schema: $ref: '#/components/schemas/ApiGwError' examples: 503 Service Unavailable: value: message: unavailable Http500ErrorResponse: description: Internal Server Error headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500 Internal Server Error: value: message: Server error errorDetail: title: Internal Server Error status: 500 detail: Something went wrong. Http400ErrorResponse_GetResults: description: Bad Request headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/Error400' examples: 400 Bad Request - Invalid header parameter: $ref: '#/components/examples/Error400_InvalidHeaderParam' Http404ErrorResponse_NoResults: description: Not Found headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404 Not Found: value: message: no Route matched with those values errorDetail: title: Not Found status: 404 detail: Bulk subscription results not available. Http403ErrorResponse: description: Forbidden headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403 Forbidden: value: message: Forbidden Http429ErrorResponse: description: Too Many Requests headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' Retry-After: $ref: '#/components/headers/Retry-After' content: application/json: schema: $ref: '#/components/schemas/ApiGwError' examples: 429 Too Many Requests: value: message: API rate limit exceeded Http504ErrorResponse: description: Gateway Timeout headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' content: application/json: schema: $ref: '#/components/schemas/ApiGwError' examples: 504 Service Unavailable: value: message: The upstream server is timing out. Http200BasicSettlementInfoFile: description: 'The basic settlement information for all securities defined in the business partner''s subscription. The format of the file is given by the type ''ResponseSubscriptionBasicSettlementInfoQuery''; see ''SampleResultsFileContents'' as an example.' headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' ETag: $ref: '#/components/headers/ETag' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' content: application/gzip: schema: type: string format: binary Http401ErrorResponse: description: Unauthorized headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401 Unauthorized - no certificate provided: value: message: No required TLS certificate was sent 401 Unauthorized - invalid certificate (no trust in certificate): value: message: TLS certificate failed verification 401 Unauthorized - not authorized (wrong client credentials): value: message: Unauthorized Http304NotModified: description: Not Modified headers: X-Correlation-Id: $ref: '#/components/headers/X-Correlation-Id' ETag: $ref: '#/components/headers/ETag' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' content: application/vnd.api+json: {} examples: Error400_InvalidHeaderParam: value: message: 'header "X-Correlation-ID" validation failed with error: "failed to match pattern "^[0-9A-Fa-f]{8}-?[0-9A-Fa-f]{4}-?4[0-9A-Fa-f]{3}-?[89ABab][0-9A-Fa-f]{3}-?[0-9A-Fa-f]{12}" with ""'