openapi: 3.2.0 info: title: Swittest API 🚀 Validation API description: ' ### Prerequisites To use this API, you must have an active organization and an active user. If you don''t have an account yet, please contact us at [contact@switstack.io](mailto:contact@switstack.io). ### Roles - **Data**: Can get test suites, tests, configs and vcards. - **Full**: Can fully use swittest. ### Authentication To make authenticated requests, call `/auth/token` with your credentials and the appropriate grant type. An access token will be returned, which must be included in the request''s Authorization header using the Bearer prefix (`Authorization: Bearer `). ' version: 0.13.0 tags: - name: Validation paths: /api/verify/test-suite: post: tags: - Validation summary: Verify Test Suite operationId: verify_test_suite requestBody: content: application/json: schema: $ref: '#/components/schemas/TestSuiteSchema' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - OAuth2PasswordBearer: [] /api/verify/test: post: tags: - Validation summary: Verify Test operationId: verify_test requestBody: content: application/json: schema: additionalProperties: true type: object title: Payload required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - OAuth2PasswordBearer: [] /api/verify/bin: post: tags: - Validation summary: Verify Bin Scope operationId: verify_bin_scope requestBody: content: application/json: schema: $ref: '#/components/schemas/BINScopeSchema' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - OAuth2PasswordBearer: [] /api/verify/capk: post: tags: - Validation summary: Verify Capk Scope operationId: verify_capk_scope requestBody: content: application/json: schema: $ref: '#/components/schemas/CAPKScopeSchema' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - OAuth2PasswordBearer: [] /api/verify/cr: post: tags: - Validation summary: Verify Cr Scope operationId: verify_cr_scope requestBody: content: application/json: schema: $ref: '#/components/schemas/CRScopeSchema' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - OAuth2PasswordBearer: [] /api/verify/emv: post: tags: - Validation summary: Verify Emv Scope operationId: verify_emv_scope requestBody: content: application/json: schema: $ref: '#/components/schemas/EMVScopeSchema' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - OAuth2PasswordBearer: [] components: schemas: TestListSchema: properties: name: type: string title: Name poi_config: $ref: '#/components/schemas/POIConfigSchema' additionalProperties: false type: object required: - name - poi_config title: TestListSchema ToolEnum: type: string enum: - swittest - fime - gallit title: ToolEnum CRListSchema: properties: name: type: string title: Name crs: items: type: string type: array title: Crs additionalProperties: false type: object required: - name - crs title: CRListSchema HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError CAPKAlgorithmType: type: string enum: - RSA title: CAPKAlgorithmType CAPKSchema: properties: name: anyOf: - type: string maxLength: 255 minLength: 1 examples: - CAPK name - type: 'null' title: Name rid: type: string maxLength: 10 minLength: 10 title: Rid examples: - A000000004 index: type: string maxLength: 2 minLength: 2 title: Index examples: - EF hash_type: $ref: '#/components/schemas/CAPKHashType' default: UNDEFINED algorithm_type: $ref: '#/components/schemas/CAPKAlgorithmType' default: RSA modulus: type: string maxLength: 1024 minLength: 1 title: Modulus examples: - A191CB87473F29349B5D60A88B3EAEE0973AA6F1A082F358D849FDDFF9C091F899EDA9792CAF09EF28F5D22404B88A2293EEBBC1949C43BEA4D60CFD879A1539544E09E0F09F60F065B2BF2A13ECC705F3D468B9D33AE77AD9D3F19CA40F23DCF5EB7C04DC8F69EBA565B1EBCB4686CD274785530FF6F6E9EE43AA43FDB02CE00DAEC15C7B8FD6A9B394BABA419D3F6DC85E16569BE8E76989688EFEA2DF22FF7D35C043338DEAA982A02B866DE5328519EBBCD6F03CDD686673847F84DB651AB86C28CF1462562C577B853564A290C8556D818531268D25CC98A4CC6A0BDFFFDA2DCCA3A94C998559E307FDDF915006D9A987B07DDAEB3B exponent: type: string maxLength: 6 minLength: 2 title: Exponent examples: - '03' hash: type: string minLength: 1 title: Hash expires_at: anyOf: - type: string format: date - type: 'null' title: Expires At additionalProperties: false type: object required: - rid - index - modulus - exponent - hash title: CAPKSchema CAPKScopeSchema: properties: capks: additionalProperties: $ref: '#/components/schemas/CAPKSchema' type: object title: Capks capk_list: $ref: '#/components/schemas/CAPKListSchema' additionalProperties: false type: object required: - capks - capk_list title: CAPKScopeSchema BINConfigSchema: properties: name: type: string title: Name bin_lists: items: type: string type: array title: Bin Lists additionalProperties: false type: object required: - name - bin_lists title: BINConfigSchema EMVListSchema: properties: name: type: string title: Name emvs: items: type: string type: array title: Emvs additionalProperties: false type: object required: - name - emvs title: EMVListSchema EMVSchema: properties: name: anyOf: - type: string maxLength: 255 minLength: 1 examples: - EMV name - type: 'null' title: Name technology_type: $ref: '#/components/schemas/EMVTechnologyType' default: CONTACTLESS kernel: type: string maxLength: 2 minLength: 1 title: Kernel examples: - 0F aid: type: string maxLength: 32 minLength: 1 title: Aid examples: - A0000000041010 transaction_type: $ref: '#/components/schemas/EMVTransactionType' default: '00' asf: type: boolean title: Asf default: true tlv: type: string minLength: 1 title: Tlv examples: - 5F200F4D696B65204A6F686E20536D697468 additionalProperties: false type: object required: - kernel - aid - tlv title: EMVSchema CRSchema: properties: name: anyOf: - type: string maxLength: 255 minLength: 1 examples: - CR name - type: 'null' title: Name rid: type: string maxLength: 10 minLength: 10 title: Rid examples: - A000000004 index: type: string maxLength: 2 minLength: 2 title: Index examples: - '00' serial_number: type: string maxLength: 6 minLength: 6 title: Serial Number examples: - 3F70D8 additionalProperties: false type: object required: - rid - index - serial_number title: CRSchema CAPKHashType: type: string enum: - UNDEFINED - SHA1 - SHA256 title: CAPKHashType CRScopeSchema: properties: crs: additionalProperties: $ref: '#/components/schemas/CRSchema' type: object title: Crs cr_list: $ref: '#/components/schemas/CRListSchema' additionalProperties: false type: object required: - crs - cr_list title: CRScopeSchema SchemeEnum: type: string enum: - mastercard - amex - discover - jcb - cup - rupay - eftpos - cpace title: SchemeEnum ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError EMVTechnologyType: type: string enum: - CONTACT - CONTACTLESS title: EMVTechnologyType EMVTransactionType: type: string enum: - '00' - '01' - '02' - 09 - '17' - '20' - '21' - '93' title: EMVTransactionType CAPKListSchema: properties: name: type: string title: Name capks: items: type: string type: array title: Capks additionalProperties: false type: object required: - name - capks title: CAPKListSchema EMVConfigSchema: properties: name: type: string title: Name emv_nominal_list: type: string title: Emv Nominal List emv_failsafe_list: anyOf: - type: string - type: 'null' title: Emv Failsafe List additionalProperties: false type: object required: - name - emv_nominal_list title: EMVConfigSchema BINListSchema: properties: name: type: string title: Name bins: items: type: string type: array title: Bins additionalProperties: false type: object required: - name - bins title: BINListSchema TypeEnum: type: string enum: - l2 - l3 title: TypeEnum EMVScopeSchema: properties: emvs: additionalProperties: $ref: '#/components/schemas/EMVSchema' type: object title: Emvs emv_lists: additionalProperties: $ref: '#/components/schemas/EMVListSchema' type: object title: Emv Lists emv_config: $ref: '#/components/schemas/EMVConfigSchema' additionalProperties: false type: object required: - emvs - emv_lists - emv_config title: EMVScopeSchema POIConfigSchema: properties: name: type: string title: Name bin_config: anyOf: - type: string - type: 'null' title: Bin Config capk_list: anyOf: - type: string - type: 'null' title: Capk List cr_list: anyOf: - type: string - type: 'null' title: Cr List emv_config: type: string title: Emv Config additionalProperties: false type: object required: - name - emv_config title: POIConfigSchema TestSuiteSchema: properties: name: type: string title: Name version: type: string title: Version date: type: string format: date title: Date environment: $ref: '#/components/schemas/EnvironmentSchema' tests: items: $ref: '#/components/schemas/TestListSchema' type: array title: Tests additionalProperties: false type: object required: - name - version - date - environment - tests title: TestSuiteSchema BINScopeSchema: properties: bins: additionalProperties: $ref: '#/components/schemas/BINSchema' type: object title: Bins bin_lists: additionalProperties: $ref: '#/components/schemas/BINListSchema' type: object title: Bin Lists bin_config: $ref: '#/components/schemas/BINConfigSchema' additionalProperties: false type: object required: - bins - bin_lists - bin_config title: BINScopeSchema BINSchema: properties: name: anyOf: - type: string maxLength: 255 minLength: 1 examples: - BIN name - type: 'null' title: Name min_range: type: integer title: Min Range examples: - 0 max_range: type: integer title: Max Range examples: - 99999999 additionalProperties: false type: object required: - min_range - max_range title: BINSchema EnvironmentSchema: properties: tool: $ref: '#/components/schemas/ToolEnum' type: $ref: '#/components/schemas/TypeEnum' scheme: $ref: '#/components/schemas/SchemeEnum' test_suite_version: type: string title: Test Suite Version additionalProperties: false type: object required: - tool - type - scheme - test_suite_version title: EnvironmentSchema securitySchemes: OAuth2PasswordBearer: type: oauth2 flows: password: scopes: {} tokenUrl: auth/token