openapi: 3.1.0 info: title: MetaMap Authentication Custom Watchlists API version: '1.4' description: MetaMap (formerly Mati) identity verification REST API. Start and manage user verifications, retrieve verification media, run watchlist, email, phone, credit, court-record, and government database checks across Latin America, Africa, and Asia. contact: name: MetaMap url: https://metamap.com license: name: MetaMap Terms of Service url: https://metamap.com/legal/terms-of-service servers: - url: https://api.prod.metamap.com description: Production security: - bearerAuth: [] tags: - name: Custom Watchlists paths: /safety/v1/upload/watchlists/file: post: summary: Upload a Custom Watchlist description: Use this API to upload a custom watchlist operationId: upload-custom-watchlist requestBody: content: application/json: schema: type: object required: - watchlistId - callbackUrl - file properties: watchlistId: type: string csvSeparator: type: string description: Specify the separating character between your watchlist entries. default: ; callbackUrl: type: string file: type: string description: List of custom watchlist entries. The file must use a `*.csv` extension. format: binary responses: '202': description: '202' content: application/json: examples: Successful Request: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Invalid Parameters: value: "{\n \"code\": 400,\n \"message\": \": should have required property 'callbackUrl'\",\n \"type\": \"safetyApi.invalidParams\",\n}" The Number Of Files Exceeds Limit: value: "{\n \"code\": 400,\n \"message\": \"Files limit exceeded\",\n \"name\": \"MoleculerError\"\n}" schema: type: object properties: code: type: integer example: 400 default: 0 message: type: string example: Files limit exceeded name: type: string example: MoleculerError '413': description: '413' content: application/json: examples: Result: value: "{\n \"name\": \"MoleculerError\",\n \"message\": \"File size limit exceeded\",\n \"code\": 413\n}" schema: type: object properties: name: type: string example: MoleculerError message: type: string example: File size limit exceeded code: type: integer example: 413 default: 0 '500': description: '500' content: text/plain: examples: Result: value: "{\n \"code\": 500,\n \"message\": \"Internal error\",\n \"type\": \"safetyApi.internalError\",\n}" deprecated: false x-readme: code-samples: - language: curl code: "curl --location --request POST 'https://api.getmati.com/safety/v1/upload/watchlists/file' \\\n --header 'Content-Type: multipart/form-data' \\\n --header 'Authorization: Bearer {{access_token}}' \\\n --form 'watchlistId=\"10\"' \\\n --form 'csvSeparator=\";\"' \\\n --form 'callbackUrl=\"https://callback.url/\"' \\\n --form 'file=@\"/Users/user/files/watchlist_file.csv\"'" samples-languages: - curl tags: - Custom Watchlists components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: JWT obtained via POST /oauth using client_id / client_secret as HTTP Basic. basicAuth: type: http scheme: basic description: Used only on POST /oauth for the initial token exchange.