openapi: 3.2.0
info:
title: Silverflow Agents API
version: 1.417.0
contact:
name: API Support
email: support@silverflow.com
license:
name: Commercial
description: 'Operations tagged Agents across 2 of this provider''s published API definitions: silverflow-openapi.yml, silverflow-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://eu-west-1.api.silverflow.com/v1
description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
- url: https://us-east-2.api.silverflow.com/v1
description: Production URL for North America
- url: https://eu-west-1.api-sbx.silverflow.com/v1
description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
security:
- ApiKey: []
- BearerToken: []
tags:
- name: Agents
description: ' '
paths:
/agents/{agentKey}:
get:
operationId: getAgent
summary: Get Agent
description: 'Requires `agents:Get` permission.
'
tags:
- Agents
parameters:
- $ref: '#/components/parameters/agentKey'
responses:
'200':
description: The referenced Agent
content:
application/json:
schema:
$ref: '#/components/schemas/Agent'
examples:
getAgent:
$ref: '#/components/examples/get-agent'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
patch:
operationId: updateAgent
summary: Update Agent
description: 'Requires `agents:Update` permission.
'
tags:
- Agents
parameters:
- $ref: '#/components/parameters/agentKey'
- $ref: '#/components/parameters/ifMatch'
requestBody:
description: 'The request body allows to change certain values on this Agent.
Note that to update a property that is marked as ''Deprecated''
you will need to contact your technical account manager for support.
'
required: true
content:
application/merge-patch+json:
schema:
$ref: '#/components/schemas/AgentMergeUpdate'
examples:
updateEmailAddress:
$ref: '#/components/examples/update-agent-change-emails'
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Agent'
examples:
updateAddress:
$ref: '#/components/examples/update-agent-change-emails-response'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'412':
$ref: '#/components/responses/PreconditionFailedError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
servers:
- url: https://eu-west-1.api.silverflow.com/v1
description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
- url: https://us-east-2.api.silverflow.com/v1
description: Production URL for North America
- url: https://eu-west-1.api-sbx.silverflow.com/v1
description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
/agents/{agentKey}/activate:
post:
operationId: activateAgent
summary: Activate Agent
description: 'Requires `agents:Activate` permission.
'
tags:
- Agents
security:
- BearerToken: []
parameters:
- $ref: '#/components/parameters/agentKey'
responses:
'201':
description: The created _key management_ API Key
headers:
Location:
description: The URL of the newly created API Key
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKey'
examples:
agentActivationApiKey:
$ref: '#/components/examples/agent-activation'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
servers:
- url: https://eu-west-1.api.silverflow.com/v1
description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
- url: https://us-east-2.api.silverflow.com/v1
description: Production URL for North America
- url: https://eu-west-1.api-sbx.silverflow.com/v1
description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
/agents/{agentKey}/bearerToken:
post:
operationId: createAgentBearerToken
summary: Create Bearer Token
description: 'Requires `agents:CreateBearerToken` permission.
'
tags:
- Agents
parameters:
- $ref: '#/components/parameters/agentKey'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BearerTokenCreate'
examples:
agentScope:
$ref: '#/components/examples/create-agent-bearer-token'
merchantScope:
$ref: '#/components/examples/create-agent-bearer-token-merchant'
responses:
'201':
description: The created Bearer Token
content:
application/json:
schema:
$ref: '#/components/schemas/BearerToken'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/ConflictError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
servers:
- url: https://eu-west-1.api.silverflow.com/v1
description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
- url: https://us-east-2.api.silverflow.com/v1
description: Production URL for North America
- url: https://eu-west-1.api-sbx.silverflow.com/v1
description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
components:
schemas:
apiKeyKey:
description: Uniquely identifies an API Key
type: string
pattern: ^apk-[a-zA-Z0-9]+$
minLength: 5
maxLength: 120
example: apk-1UF2NafdfrdPMf2XrS2
ProblemDetail:
type: object
description: 'The ''problem detail'' object relays detailed information about the error that occurred. It is defined
by [RFC 7807 - Problem Details for HTTP APIs](https://tools.ietf.org/html/rfc7807).
Note that additional properties may be used to relay error specific information.
'
properties:
type:
type: string
description: 'An absolute URI that identifies the problem type.
'
default: about:blank
example: https://api.silverflow.co/problem/constraint-violation
title:
type: string
description: 'A short, summary of the problem type. Written in english and readable
for engineers (usually not suited for non technical stakeholders and
not localized);
'
example: Service Unavailable
status:
type: integer
format: int32
description: 'The HTTP status code generated by the origin server for this occurrence
of the problem.
'
minimum: 100
maximum: 599
example: 503
detail:
type: string
description: 'A human readable explanation specific to this occurrence of the
problem.
'
example: Connection to database timed out
instance:
type: string
description: 'An absolute URI that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.
'
additionalProperties: true
bearerTokenKey:
description: Uniquely identifies a Token
type: string
pattern: ^apk-[a-zA-Z0-9]+:[a-zA-Z0-9]+$
example: apk-l1nd1jn3j2njnkqkn
FreeTextField:
type: string
pattern: ^[\w +=.,:;!?$@()-]+$
minLength: 1
maxLength: 160
countryCodeAlpha2:
type: string
pattern: ^[A-Z]+$
minLength: 2
maxLength: 2
description: 'The ISO code of the country.
**European ISO Country Codes**
| Country | Alpha-2 code | Numeric |
| ------- | ------------ | ------- |
| Åland Islands | AX | 248 |
| Andorra | AD | 020 |
| Austria | AT | 040 |
| Belgium | BE | 056 |
| Cyprus | CY | 196 |
| Estonia | EE | 233 | |
| Finland | FI | 246 |
| France | FR | 250 |
| French Guiana | GF | 254 |
| French Southern Territories | TF | 260 |
| Germany | DE | 280 |
| Greece | GR | 300 |
| Guadeloupe | GP | 312 |
| Ireland | IE | 372 |
| Italy | IT | 380 |
| Kosovo, United Nations Mission in Kosovo (UNMIK) | QZ | 900 |
| Latvia | LV | 428 |
| Lithuania | LT | 440 |
| Luxembourg | LU | 442 |
| Malta | MT | 470 |
| Martinique | MQ | 474 |
| Mayotte | YT | 175 |
| Monaco | MC | 492 |
| Montenegro | ME | 499 |
| Netherlands | NL | 528 |
| Portugal | PT | 620 |
| Reunion | RE | 638 |
| Saint Barthélemy | BL | 652 |
| Saint Martin (French Part) | MF | 663 |
| San Marino | SM | 674 |
| Slovakia | SK | 703 |
| Slovenia | SI | 705 |
| Spain | ES | 724 |
| St. Pierre and Miquelon | PM | 666 |
| Vatican City State (Holy See) | VA | 336 |
**US ISO Country Codes**
| Country | Alpha-2 code | Numeric |
| ------- | ------------ | ------- |
| American Samoa | AS | 016 |
| Bonaire, St. Eusasius and Saba | BQ | 535 |
| British Indian Ocean Territory | IO | 086 |
| Ecuador | EC | 218 |
| Guam | GU | 316 |
| Marshall Islands | MH | 584 |
| Micronesia, Federated States of | FM | 583 |
| Northern Mariana Islands | MP | 580 |
| Palau | PW | 585 |
| Palestine, State of | PS | 275 |
| Puerto Rico | PR | 630 |
| Timor-Leste | TP | 626 |
| Turks and Caicos Islands | TC | 796 |
| U.S. Minor Outlying Islands | UM | 581 |
| United States | US | 840 |
| Virgin Islands, British | VG | 092 |
| Virgin Islands, U.S. | VI | 850 |
**Other ISO Country Codes**
| Country | Alpha-2 code | Numeric |
| ------- | ------------ | ------- |
| Afghanistan | AF | 004 |
| Albania | AL | 008 |
| Algeria | DZ | 012 |
| Angola | AO | 024 |
| Anguilla | AI | 660 |
| Antarctica | AQ | 010 |
| Antigua and Barbuda | AG | 028 |
| Argentina | AR | 032 |
| Armenia | AM | 051 |
| Aruba | AW | 533 |
| Australia | AU | 036 |
| Azerbaijan | AZ | 031 |
| Bahamas | BS | 044 |
| Bahrain | BH | 048 |
| Bangladesh | BD | 050 |
| Barbados | BB | 052 |
| Belarus | BR | 112 |
| Belize | BZ | 084 |
| Benin | BJ | 204 |
| Bermuda | BM | 060 |
| Bhutan | BT | 064 |
| Bolivia, Plurinational State of | BO | 068 |
| Bosnia and Herzegovina | BA | 070 |
| Botswana | BW | 072 |
| Bouvet Island | BV | 074 |
| Brazil | BR | 076 |
| Brunei Darussalam | BN | 096 |
| Bulgaria | BG | 100 |
| Burkina Faso | BF | 854 |
| Burundi | BI | 108 |
| Cambodia | KH | 116 |
| Cameroon | CM | 120 |
| Canada | CA | 124 |
| Cape Verde | CV | 132 |
| Cayman Islands | KY | 136 |
| Central African Republic | CF | 140 |
| Chad | TD | 148 |
| Chile | CL | 152 |
| China | CN | 156 |
| Christmas Island | CX | 162 |
| Cocos (Keeling) Islands | CC | 166 |
| Colombia | CO | 170 |
| Comoros | KM | 174 |
| Congo | CG | 178 |
| Cook Islands | CK | 184 |
| Costa Rica | CR | 188 |
| Côte D''Ivoire | CI | 384 |
| Croatia | HR | 191 |
| Cuba | CU | 192 |
| Curacao | CW | 531 |
| Czech Republic | CZ | 203 |
| Democratic Republic of the Congo | CD | 180 |
| Denmark | DK | 208 |
| Djibouti | DJ | 262 |
| Dominica | DM | 212 |
| Dominican Republic | DO | 214 |
| Egypt | EG | 818 |
| El Salvador | SV | 222 |
| Equatorial Guinea | GQ | 226 |
| Eritrea | ER | 232 |
| Ethiopia | ET | 230 |
| Falkland Islands (Malvinas) | FK | 238 |
| Faroe Islands | FO | 234 |
| Fiji | FJ | 242 |
| French Polynesia | PF | 258 |
| Gabon | GA | 266 |
| Gambia | GM | 270 |
| Georgia | GE | 268 |
| Ghana | GH | 288 |
| Gibraltar | GI | 292 |
| Greenland | GL | 304 |
| Grenada | GD | 308 |
| Guatemala | GT | 320 |
| Guernsey | GG | 831 |
| Guinea | GN | 324 |
| Guinea-Bissau | GW | 624 |
| Guyana | GY | 328 |
| Haiti | HT | 332 |
| Heard and McDonald Islands | HM | 334 |
| Honduras | HN | 340 |
| Hong Kong | HK | 344 |
| Hungary | HU | 348 |
| Iceland | IS | 352 |
| India | IN | 356 |
| Indonesia | ID | 360 |
| Iraq | IQ | 368 |
| Isle of Man | IM | 833 |
| Israel | IL | 376 |
| Jamaica | JM | 388 |
| Japan | JP | 392 |
| Jersey | JE | 832 |
| Jordan | JO | 400 |
| Kazakhstan | KZ | 398 |
| Kenya | KE | 404 |
| Kiribati | KI | 296 |
| Korea, Republic of | KR | 410 |
| Kuwait | KW | 414 |
| Kyrgyzstan | KG | 417 |
| Lao People''s Democratic Republic | LA | 418 |
| Lebanon | LB | 422 |
| Lesotho | LS | 426 |
| Liberia | LR | 430 |
| Libyan Arab Jamahiriya | LY | 434 |
| Liechtenstein | LI | 438 |
| Macao | MO | 446 |
| Macedonia | MK | 807 |
| Madagascar | MG | 450 |
| Malawi | MW | 454 |
| Malaysia | MY | 458 |
| Maldives | MV | 462 |
| Mali | ML | 466 |
| Mauritania | MR | 478 |
| Mauritius | MU | 480 |
| Mexico | MX | 484 |
| Moldova, Republic of | MD | 498 |
| Mongolia | MN | 496 |
| Montserrat | MS | 500 |
| Morocco | MA | 504 |
| Mozambique | MZ | 508 |
| Myanmar (effective 1 November 2012) | MM | 104 |
| Namibia | NA | 516 |
| Nauru | NR | 520 |
| Nepal | NP | 524 |
| Netherlands Antilles | AN | 530 |
| New Caledonia | NC | 540 |
| New Zealand | NZ | 554 |
| Nicaragua | NI | 558 |
| Niger | NE | 562 |
| Nigeria | NG | 566 |
| Niue | NU | 570 |
| Norfolk Island | NF | 574 |
| Norway | NO | 578 |
| Oman | OM | 512 |
| Pakistan | PK | 586 |
| Panama | PA | 591 |
| Papua New Guinea | PG | 598 |
| Paraguay | PY | 600 |
| Peru | PE | 604 |
| Philippines | PH | 608 |
| Pitcairn | PN | 612 |
| Poland | PL | 616 |
| Qatar | QA | 634 |
| Republic of South Sudan | SS | 728 |
| Romania | RO | 642 |
| Russian Federation | RU | 643 |
| Rwanda | RW | 646 |
| Samoa | WS | 882 |
| Sao Tome and Principe | ST | 678 |
| Saudi Arabia | SA | 682 |
| Senegal | SN | 686 |
| Serbia | RS | 688 |
| Seychelles | SC | 690 |
| Sierra Leone | SL | 694 |
| Singapore | SG | 702 |
| Sint Maarten (Dutch Part) | SX | 534 |
| Solomon Islands | SB | 090 |
| Somalia | SO | 706 |
| South Africa | ZA | 710 |
| South Georgia and the South Sandwich Islands | GS | 239 |
| Sri Lanka | LK | 144 |
| Saint Helena, Ascension and Tristan Da Cunha | SH | 654 |
| St. Kitts and Nevis | KN | 659 |
| St. Lucia | LC | 662 |
| St. Vincent and the Grenadines | VC | 670 |
| Suriname | SR | 740 |
| Svalbard and Jan Mayen | SJ | 744 |
| Swaziland | SZ | 748 |
| Sweden | SE | 752 |
| Switzerland | CH | 756 |
| Taiwan | TW | 158 |
| Tajikistan | TJ | 762 |
| Tanzania, United Republic of | TZ | 834 |
| Thailand | TH | 764 |
| Togo | TG | 768 |
| Tokelau | TK | 772 |
| Tonga | TO | 776 |
| Trinidad and Tobago | TT | 780 |
| Tunisia | TN | 788 |
| Turkey | TR | 792 |
| Turkmenistan | TM | 795 |
| Tuvalu | TV | 798 |
| Uganda | UG | 800 |
| Ukraine | UA | 804 |
| United Arab Emirates | AE | 784 |
| United Kingdom | GB | 826 |
| Uruguay | UY | 858 |
| Uzbekistan | UZ | 860 |
| Vanuatu | VU | 548 |
| Venezuela, Bolivarian Republic of | VE | 862 |
| Vietnam | VN | 704 |
| Wallis and Futuna | WF | 876 |
| Western Sahara | EH | 732 |
| Yemen | YE | 886 |
| Zambia | ZM | 894 |
| Zimbabwe | ZW | 716 |
'
externalDocs:
description: Find more info here
url: https://www.iso.org/iso-3166-country-codes.html
example: NL
countryCodeAlpha3:
type: string
pattern: ^[A-Z]+$
minLength: 3
maxLength: 3
description: 'The ISO code of the country.
**European ISO Country Codes**
| Country | Alpha-2 code | Numeric |
| ------- | ------------ | ------- |
| Åland Islands | AX | 248 |
| Andorra | AD | 020 |
| Austria | AT | 040 |
| Belgium | BE | 056 |
| Cyprus | CY | 196 |
| Estonia | EE | 233 | |
| Finland | FI | 246 |
| France | FR | 250 |
| French Guiana | GF | 254 |
| French Southern Territories | TF | 260 |
| Germany | DE | 280 |
| Greece | GR | 300 |
| Guadeloupe | GP | 312 |
| Ireland | IE | 372 |
| Italy | IT | 380 |
| Kosovo, United Nations Mission in Kosovo (UNMIK) | QZ | 900 |
| Latvia | LV | 428 |
| Lithuania | LT | 440 |
| Luxembourg | LU | 442 |
| Malta | MT | 470 |
| Martinique | MQ | 474 |
| Mayotte | YT | 175 |
| Monaco | MC | 492 |
| Montenegro | ME | 499 |
| Netherlands | NL | 528 |
| Portugal | PT | 620 |
| Reunion | RE | 638 |
| Saint Barthélemy | BL | 652 |
| Saint Martin (French Part) | MF | 663 |
| San Marino | SM | 674 |
| Slovakia | SK | 703 |
| Slovenia | SI | 705 |
| Spain | ES | 724 |
| St. Pierre and Miquelon | PM | 666 |
| Vatican City State (Holy See) | VA | 336 |
**US ISO Country Codes**
| Country | Alpha-2 code | Numeric |
| ------- | ------------ | ------- |
| American Samoa | AS | 016 |
| Bonaire, St. Eusasius and Saba | BQ | 535 |
| British Indian Ocean Territory | IO | 086 |
| Ecuador | EC | 218 |
| Guam | GU | 316 |
| Marshall Islands | MH | 584 |
| Micronesia, Federated States of | FM | 583 |
| Northern Mariana Islands | MP | 580 |
| Palau | PW | 585 |
| Palestine, State of | PS | 275 |
| Puerto Rico | PR | 630 |
| Timor-Leste | TP | 626 |
| Turks and Caicos Islands | TC | 796 |
| U.S. Minor Outlying Islands | UM | 581 |
| United States | US | 840 |
| Virgin Islands, British | VG | 092 |
| Virgin Islands, U.S. | VI | 850 |
**Other ISO Country Codes**
| Country | Alpha-2 code | Numeric |
| ------- | ------------ | ------- |
| Afghanistan | AF | 004 |
| Albania | AL | 008 |
| Algeria | DZ | 012 |
| Angola | AO | 024 |
| Anguilla | AI | 660 |
| Antarctica | AQ | 010 |
| Antigua and Barbuda | AG | 028 |
| Argentina | AR | 032 |
| Armenia | AM | 051 |
| Aruba | AW | 533 |
| Australia | AU | 036 |
| Azerbaijan | AZ | 031 |
| Bahamas | BS | 044 |
| Bahrain | BH | 048 |
| Bangladesh | BD | 050 |
| Barbados | BB | 052 |
| Belarus | BR | 112 |
| Belize | BZ | 084 |
| Benin | BJ | 204 |
| Bermuda | BM | 060 |
| Bhutan | BT | 064 |
| Bolivia, Plurinational State of | BO | 068 |
| Bosnia and Herzegovina | BA | 070 |
| Botswana | BW | 072 |
| Bouvet Island | BV | 074 |
| Brazil | BR | 076 |
| Brunei Darussalam | BN | 096 |
| Bulgaria | BG | 100 |
| Burkina Faso | BF | 854 |
| Burundi | BI | 108 |
| Cambodia | KH | 116 |
| Cameroon | CM | 120 |
| Canada | CA | 124 |
| Cape Verde | CV | 132 |
| Cayman Islands | KY | 136 |
| Central African Republic | CF | 140 |
| Chad | TD | 148 |
| Chile | CL | 152 |
| China | CN | 156 |
| Christmas Island | CX | 162 |
| Cocos (Keeling) Islands | CC | 166 |
| Colombia | CO | 170 |
| Comoros | KM | 174 |
| Congo | CG | 178 |
| Cook Islands | CK | 184 |
| Costa Rica | CR | 188 |
| Côte D''Ivoire | CI | 384 |
| Croatia | HR | 191 |
| Cuba | CU | 192 |
| Curacao | CW | 531 |
| Czech Republic | CZ | 203 |
| Democratic Republic of the Congo | CD | 180 |
| Denmark | DK | 208 |
| Djibouti | DJ | 262 |
| Dominica | DM | 212 |
| Dominican Republic | DO | 214 |
| Egypt | EG | 818 |
| El Salvador | SV | 222 |
| Equatorial Guinea | GQ | 226 |
| Eritrea | ER | 232 |
| Ethiopia | ET | 230 |
| Falkland Islands (Malvinas) | FK | 238 |
| Faroe Islands | FO | 234 |
| Fiji | FJ | 242 |
| French Polynesia | PF | 258 |
| Gabon | GA | 266 |
| Gambia | GM | 270 |
| Georgia | GE | 268 |
| Ghana | GH | 288 |
| Gibraltar | GI | 292 |
| Greenland | GL | 304 |
| Grenada | GD | 308 |
| Guatemala | GT | 320 |
| Guernsey | GG | 831 |
| Guinea | GN | 324 |
| Guinea-Bissau | GW | 624 |
| Guyana | GY | 328 |
| Haiti | HT | 332 |
| Heard and McDonald Islands | HM | 334 |
| Honduras | HN | 340 |
| Hong Kong | HK | 344 |
| Hungary | HU | 348 |
| Iceland | IS | 352 |
| India | IN | 356 |
| Indonesia | ID | 360 |
| Iraq | IQ | 368 |
| Isle of Man | IM | 833 |
| Israel | IL | 376 |
| Jamaica | JM | 388 |
| Japan | JP | 392 |
| Jersey | JE | 832 |
| Jordan | JO | 400 |
| Kazakhstan | KZ | 398 |
| Kenya | KE | 404 |
| Kiribati | KI | 296 |
| Korea, Republic of | KR | 410 |
| Kuwait | KW | 414 |
| Kyrgyzstan | KG | 417 |
| Lao People''s Democratic Republic | LA | 418 |
| Lebanon | LB | 422 |
| Lesotho | LS | 426 |
| Liberia | LR | 430 |
| Libyan Arab Jamahiriya | LY | 434 |
| Liechtenstein | LI | 438 |
| Macao | MO | 446 |
| Macedonia | MK | 807 |
| Madagascar | MG | 450 |
| Malawi | MW | 454 |
| Malaysia | MY | 458 |
| Maldives | MV | 462 |
| Mali | ML | 466 |
| Mauritania | MR | 478 |
| Mauritius | MU | 480 |
| Mexico | MX | 484 |
| Moldova, Republic of | MD | 498 |
| Mongolia | MN | 496 |
| Montserrat | MS | 500 |
| Morocco | MA | 504 |
| Mozambique | MZ | 508 |
| Myanmar (effective 1 November 2012) | MM | 104 |
| Namibia | NA | 516 |
| Nauru | NR | 520 |
| Nepal | NP | 524 |
| Netherlands Antilles | AN | 530 |
| New Caledonia | NC | 540 |
| New Zealand | NZ | 554 |
| Nicaragua | NI | 558 |
| Niger | NE | 562 |
| Nigeria | NG | 566 |
| Niue | NU | 570 |
| Norfolk Island | NF | 574 |
| Norway | NO | 578 |
| Oman | OM | 512 |
| Pakistan | PK | 586 |
| Panama | PA | 591 |
| Papua New Guinea | PG | 598 |
| Paraguay | PY | 600 |
| Peru | PE | 604 |
| Philippines | PH | 608 |
| Pitcairn | PN | 612 |
| Poland | PL | 616 |
| Qatar | QA | 634 |
| Republic of South Sudan | SS | 728 |
| Romania | RO | 642 |
| Russian Federation | RU | 643 |
| Rwanda | RW | 646 |
| Samoa | WS | 882 |
| Sao Tome and Principe | ST | 678 |
| Saudi Arabia | SA | 682 |
| Senegal | SN | 686 |
| Serbia | RS | 688 |
| Seychelles | SC | 690 |
| Sierra Leone | SL | 694 |
| Singapore | SG | 702 |
| Sint Maarten (Dutch Part) | SX | 534 |
| Solomon Islands | SB | 090 |
| Somalia | SO | 706 |
| South Africa | ZA | 710 |
| South Georgia and the South Sandwich Islands | GS | 239 |
| Sri Lanka | LK | 144 |
| Saint Helena, Ascension and Tristan Da Cunha | SH | 654 |
| St. Kitts and Nevis | KN | 659 |
| St. Lucia | LC | 662 |
| St. Vincent and the Grenadines | VC | 670 |
| Suriname | SR | 740 |
| Svalbard and Jan Mayen | SJ | 744 |
| Swaziland | SZ | 748 |
| Sweden | SE | 752 |
| Switzerland | CH | 756 |
| Taiwan | TW | 158 |
| Tajikistan | TJ | 762 |
| Tanzania, United Republic of | TZ | 834 |
| Thailand | TH | 764 |
| Togo | TG | 768 |
| Tokelau | TK | 772 |
| Tonga | TO | 776 |
| Trinidad and Tobago | TT | 780 |
| Tunisia | TN | 788 |
| Turkey | TR | 792 |
| Turkmenistan | TM | 795 |
| Tuvalu | TV | 798 |
| Uganda | UG | 800 |
| Ukraine | UA | 804 |
| United Arab Emirates | AE | 784 |
| United Kingdom | GB | 826 |
| Uruguay | UY | 858 |
| Uzbekistan | UZ | 860 |
| Vanuatu | VU | 548 |
| Venezuela, Bolivarian Republic of | VE | 862 |
| Vietnam | VN | 704 |
| Wallis and Futuna | WF | 876 |
| Western Sahara | EH | 732 |
| Yemen | YE | 886 |
| Zambia | ZM | 894 |
| Zimbabwe | ZW | 716 |
'
externalDocs:
description: Find more info here
url: https://www.iso.org/iso-3166-country-codes.html
example: NLD
ApiKey:
type: object
required:
- key
- status
- agentKey
- permissions
- created
- version
description: 'An Agent represents a Silverflow customer
'
properties:
key:
$ref: '#/components/schemas/apiKeyKey'
status:
$ref: '#/components/schemas/apiKeyStatus'
agentKey:
$ref: '#/components/schemas/agentKey'
description:
description: A description of the API Key
$ref: '#/components/schemas/FreeTextField'
permissions:
$ref: '#/components/schemas/permissions'
ipRanges:
$ref: '#/components/schemas/ipRanges'
secret:
type: string
description: The secret part of this API Key. This value will only be returned upon creation. It cannot be changed afterwards.
minLength: 32
maxLength: 150
created:
$ref: '#/components/schemas/created'
lastModified:
$ref: '#/components/schemas/lastModified'
version:
$ref: '#/components/schemas/version'
example:
key: apk-1nM6msvaara1OMHzU7Zd
status: active
agentKey: cgt-6y5t4r3edcgfrthb
description: API Key for for use by the Data lake
permissions:
- reports:All
ipRanges:
- 185.184.111.39/32
created: '2021-05-27T10:57:52Z'
lastModified: '2021-05-27T10:57:52Z'
version: 1
created:
type: string
description: The date and time this object was created
format: date-time
scope:
type: object
additionalProperties: false
properties:
merchantKey:
$ref: '#/components/schemas/merchantKey'
permissions:
type: array
items:
$ref: '#/components/schemas/permission'
minItems: 1
uniqueItems: true
PreconditionFailedProblemDetail:
type: object
required:
- type
- title
- status
- detail
- instance
properties:
type:
type: string
enum:
- /silverflow/problems/precondition-failed
title:
type: string
enum:
- Precondition Failed
status:
type: integer
enum:
- 412
detail:
type: string
description: 'A human readable explanation specific to this occurrence of the
problem.
'
example: Connection to database timed out
instance:
type: string
description: 'An absolute URI that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.
'
additionalProperties: false
expires:
type: string
description: A duration expressed in ISO 8601 "period" format.
pattern: ^P(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$
default: PT30M
externalDocs:
description: The ISO 8601 "period" format
url: https://en.wikipedia.org/wiki/ISO_8601#Durations
example: P3Y6M4DT12H30M5S
city:
allOf:
- $ref: '#/components/schemas/ExtendedNameOfPeopleAndPlaces'
- description: 'The city of the address. Clients not enrolled in the "extended character set beta" are still subject to the `^[\w ,\.\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF-]+$` pattern for field input.
'
example: Amsterdam-Duivendrecht
ExtendedFreeTextField:
type: string
pattern: ^[\x20-\x7E\xA0-\xA3\xA5\xA7\xA9-\xB3\xB5-\xB7\xB9-\xBB\xBF-\xFF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]+$
minLength: 1
maxLength: 160
description: Clients not enrolled in the "extended character set beta" are still subject to the `^[\w +=.,:;!?$@()-]+$` pattern for field input.
acquirerSegmentId:
description: VAU acquirer segment identifier
type: number
postalCode:
type: string
pattern: ^[A-Z0-9]+([ -][A-Z0-9]+)?$
minLength: 1
maxLength: 10
description: 'The postal code of the address. Clients not enrolled in the "extended character set beta" are still subject to the `^[A-Z0-9]+(\ [A-Z0-9]*)?$` pattern for field input.
'
example: 1114 AA
binKey:
description: A key assigned by Silverflow to uniquely identify a Bin.
type: string
pattern: ^bin-[a-zA-Z0-9]+$
minLength: 5
maxLength: 120
version:
type: integer
description: The version of this object
format: int64
ipRange:
type: string
description: An IP range in Classless Inter-domain Routing (CIDR) notation as defined by RFC 4632
pattern: ^\d{1,3}(\.\d{1,3}){3}/\d{1,2}$
externalDocs:
description: RFC 4632
url: https://datatracker.ietf.org/doc/html/rfc4632
NameOfPeopleAndPlaces:
type: string
pattern: ^[\w ,\.\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF-]+$
minLength: 1
maxLength: 120
email:
type: string
description: A valid email address
pattern: \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
Address:
type: object
required:
- countryCode
- city
- line1
- postalCode
additionalProperties: false
description: 'A physical postal address
'
properties:
countryCode:
$ref: '#/components/schemas/CountryCode'
stateOrProvince:
$ref: '#/components/schemas/stateOrProvince'
city:
$ref: '#/components/schemas/city'
line1:
$ref: '#/components/schemas/line1'
line2:
$ref: '#/components/schemas/line2'
postalCode:
$ref: '#/components/schemas/postalCode'
ipRanges:
type: array
description: A list of IP ranges
items:
$ref: '#/components/schemas/ipRange'
minItems: 1
uniqueItems: true
BearerToken:
type: object
required:
- key
- token
properties:
key:
$ref: '#/components/schemas/bearerTokenKey'
token:
type: string
pattern: '[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+'
BearerTokenCreate:
type: object
required:
- expires
- permissions
additionalProperties: false
properties:
expires:
$ref: '#/components/schemas/expires'
scope:
$ref: '#/components/schemas/scope'
permissions:
$ref: '#/components/schemas/permissions'
ipRanges:
$ref: '#/components/schemas/ipRanges'
emails:
type: array
description: A list of email addresses.
minItems: 1
maxItems: 10
items:
$ref: '#/components/schemas/email'
lastModified:
type: string
description: The date and time this object was last modified
format: date-time
Agent:
type: object
required:
- key
- status
- name
- legalName
- billingAddress
- binKeys
- technicalEmails
- billingEmails
- settlementEmails
- created
- version
description: 'An Agent represents a Silverflow Customer
'
properties:
key:
$ref: '#/components/schemas/agentKey'
status:
$ref: '#/components/schemas/agentStatus'
name:
allOf:
- $ref: '#/components/schemas/NameOfPeopleAndPlaces'
- description: The display name of the Agent
description:
allOf:
- $ref: '#/components/schemas/ExtendedFreeTextField'
- description: A description of the Agent
legalName:
allOf:
- $ref: '#/components/schemas/NameOfPeopleAndPlaces'
- description: The legal name of the Agent
billingAddress:
allOf:
- description: The billing address of the Agent
- $ref: '#/components/schemas/Address'
registeredAddress:
allOf:
- description: The billing address of the Agent
- $ref: '#/components/schemas/Address'
vatId:
type: string
pattern: ^[a-zA-Z0-9-]+$
minLength: 1
maxLength: 50
description: VAT identification number of the Agent
binKeys:
type: array
items:
$ref: '#/components/schemas/binKey'
acquirerSegmentId:
$ref: '#/components/schemas/acquirerSegmentId'
technicalEmails:
$ref: '#/components/schemas/emails'
billingEmails:
$ref: '#/components/schemas/emails'
settlementEmails:
$ref: '#/components/schemas/emails'
businessEmails:
$ref: '#/components/schemas/emails'
created:
$ref: '#/components/schemas/created'
lastModified:
$ref: '#/components/schemas/lastModified'
version:
$ref: '#/components/schemas/version'
AgentMergeUpdate:
type: object
additionalProperties: false
properties:
description:
allOf:
- $ref: '#/components/schemas/ExtendedFreeTextField'
- description: A description of the Agent
technicalEmails:
$ref: '#/components/schemas/emails'
billingEmails:
$ref: '#/components/schemas/emails'
settlementEmails:
$ref: '#/components/schemas/emails'
businessEmails:
$ref: '#/components/schemas/emails'
ExtendedNameOfPeopleAndPlaces:
type: string
pattern: ^[\x20-\x7E\xA0-\xA3\xA5\xA7\xA9-\xB3\xB5-\xB7\xB9-\xBB\xBF-\xFF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]+$
minLength: 1
maxLength: 120
apiKeyStatus:
description: The status of an API Key
type: string
enum:
- disabled
- active
- archived
agentStatus:
description: The status of an Agent
type: string
enum:
- idle
- active
- archived
BadRequestProblemDetail:
description: 'A ''problem detail'' object for Bad Request (400) errors. Extends the base ProblemDetail
with a validationErrors array that provides detailed information about validation failures.
'
allOf:
- $ref: '#/components/schemas/ProblemDetail'
- type: object
required:
- type
- title
- status
- detail
- instance
properties:
type:
type: string
description: URI reference identifying the problem type.
enum:
- /silverflow/problems/bad-request
example: /silverflow/problems/bad-request
title:
type: string
description: A short summary of the problem type.
enum:
- Bad Request
status:
type: integer
format: int32
description: The HTTP status code (400 for Bad Request).
enum:
- 400
detail:
type: string
description: A human readable explanation specific to this occurrence of the problem.
example: Validation errors occurred
instance:
type: string
description: An absolute URI that identifies the specific occurrence of the problem.
validationErrors:
type: array
description: 'An array of validation errors that occurred during request processing. Each item can be either
a simple string message or an object with detailed error information including the path and message.
'
items:
oneOf:
- type: string
description: A simple validation error message
example: Invalid 'mid' length
- type: object
description: A detailed validation error with path and message
required:
- instancePath
- message
properties:
instancePath:
type: string
description: The JSON path to the field that caused the validation error
example: /merchantAcceptor/mid
message:
type: string
description: The validation error message
example: must be at most 15 characters
additionalProperties: false
countryCodeNumeric:
type: string
pattern: ^[0-9]+$
minLength: 3
maxLength: 3
description: 'The ISO code of the country.
**European ISO Country Codes**
| Country | Alpha-2 code | Numeric |
| ------- | ------------ | ------- |
| Åland Islands | AX | 248 |
| Andorra | AD | 020 |
| Austria | AT | 040 |
| Belgium | BE | 056 |
| Cyprus | CY | 196 |
| Estonia | EE | 233 | |
| Finland | FI | 246 |
| France | FR | 250 |
| French Guiana | GF | 254 |
| French Southern Territories | TF | 260 |
| Germany | DE | 280 |
| Greece | GR | 300 |
| Guadeloupe | GP | 312 |
| Ireland | IE | 372 |
| Italy | IT | 380 |
| Kosovo, United Nations Mission in Kosovo (UNMIK) | QZ | 900 |
| Latvia | LV | 428 |
| Lithuania | LT | 440 |
| Luxembourg | LU | 442 |
| Malta | MT | 470 |
| Martinique | MQ | 474 |
| Mayotte | YT | 175 |
| Monaco | MC | 492 |
| Montenegro | ME | 499 |
| Netherlands | NL | 528 |
| Portugal | PT | 620 |
| Reunion | RE | 638 |
| Saint Barthélemy | BL | 652 |
| Saint Martin (French Part) | MF | 663 |
| San Marino | SM | 674 |
| Slovakia | SK | 703 |
| Slovenia | SI | 705 |
| Spain | ES | 724 |
| St. Pierre and Miquelon | PM | 666 |
| Vatican City State (Holy See) | VA | 336 |
**US ISO Country Codes**
| Country | Alpha-2 code | Numeric |
| ------- | ------------ | ------- |
| American Samoa | AS | 016 |
| Bonaire, St. Eusasius and Saba | BQ | 535 |
| British Indian Ocean Territory | IO | 086 |
| Ecuador | EC | 218 |
| Guam | GU | 316 |
| Marshall Islands | MH | 584 |
| Micronesia, Federated States of | FM | 583 |
| Northern Mariana Islands | MP | 580 |
| Palau | PW | 585 |
| Palestine, State of | PS | 275 |
| Puerto Rico | PR | 630 |
| Timor-Leste | TP | 626 |
| Turks and Caicos Islands | TC | 796 |
| U.S. Minor Outlying Islands | UM | 581 |
| United States | US | 840 |
| Virgin Islands, British | VG | 092 |
| Virgin Islands, U.S. | VI | 850 |
**Other ISO Country Codes**
| Country | Alpha-2 code | Numeric |
| ------- | ------------ | ------- |
| Afghanistan | AF | 004 |
| Albania | AL | 008 |
| Algeria | DZ | 012 |
| Angola | AO | 024 |
| Anguilla | AI | 660 |
| Antarctica | AQ | 010 |
| Antigua and Barbuda | AG | 028 |
| Argentina | AR | 032 |
| Armenia | AM | 051 |
| Aruba | AW | 533 |
| Australia | AU | 036 |
| Azerbaijan | AZ | 031 |
| Bahamas | BS | 044 |
| Bahrain | BH | 048 |
| Bangladesh | BD | 050 |
| Barbados | BB | 052 |
| Belarus | BR | 112 |
| Belize | BZ | 084 |
| Benin | BJ | 204 |
| Bermuda | BM | 060 |
| Bhutan | BT | 064 |
| Bolivia, Plurinational State of | BO | 068 |
| Bosnia and Herzegovina | BA | 070 |
| Botswana | BW | 072 |
| Bouvet Island | BV | 074 |
| Brazil | BR | 076 |
| Brunei Darussalam | BN | 096 |
| Bulgaria | BG | 100 |
| Burkina Faso | BF | 854 |
| Burundi | BI | 108 |
| Cambodia | KH | 116 |
| Cameroon | CM | 120 |
| Canada | CA | 124 |
| Cape Verde | CV | 132 |
| Cayman Islands | KY | 136 |
| Central African Republic | CF | 140 |
| Chad | TD | 148 |
| Chile | CL | 152 |
| China | CN | 156 |
| Christmas Island | CX | 162 |
| Cocos (Keeling) Islands | CC | 166 |
| Colombia | CO | 170 |
| Comoros | KM | 174 |
| Congo | CG | 178 |
| Cook Islands | CK | 184 |
| Costa Rica | CR | 188 |
| Côte D''Ivoire | CI | 384 |
| Croatia | HR | 191 |
| Cuba | CU | 192 |
| Curacao | CW | 531 |
| Czech Republic | CZ | 203 |
| Democratic Republic of the Congo | CD | 180 |
| Denmark | DK | 208 |
| Djibouti | DJ | 262 |
| Dominica | DM | 212 |
| Dominican Republic | DO | 214 |
| Egypt | EG | 818 |
| El Salvador | SV | 222 |
| Equatorial Guinea | GQ | 226 |
| Eritrea | ER | 232 |
| Ethiopia | ET | 230 |
| Falkland Islands (Malvinas) | FK | 238 |
| Faroe Islands | FO | 234 |
| Fiji | FJ | 242 |
| French Polynesia | PF | 258 |
| Gabon | GA | 266 |
| Gambia | GM | 270 |
| Georgia | GE | 268 |
| Ghana | GH | 288 |
| Gibraltar | GI | 292 |
| Greenland | GL | 304 |
| Grenada | GD | 308 |
| Guatemala | GT | 320 |
| Guernsey | GG | 831 |
| Guinea | GN | 324 |
| Guinea-Bissau | GW | 624 |
| Guyana | GY | 328 |
| Haiti | HT | 332 |
| Heard and McDonald Islands | HM | 334 |
| Honduras | HN | 340 |
| Hong Kong | HK | 344 |
| Hungary | HU | 348 |
| Iceland | IS | 352 |
| India | IN | 356 |
| Indonesia | ID | 360 |
| Iraq | IQ | 368 |
| Isle of Man | IM | 833 |
| Israel | IL | 376 |
| Jamaica | JM | 388 |
| Japan | JP | 392 |
| Jersey | JE | 832 |
| Jordan | JO | 400 |
| Kazakhstan | KZ | 398 |
| Kenya | KE | 404 |
| Kiribati | KI | 296 |
| Korea, Republic of | KR | 410 |
| Kuwait | KW | 414 |
| Kyrgyzstan | KG | 417 |
| Lao People''s Democratic Republic | LA | 418 |
| Lebanon | LB | 422 |
| Lesotho | LS | 426 |
| Liberia | LR | 430 |
| Libyan Arab Jamahiriya | LY | 434 |
| Liechtenstein | LI | 438 |
| Macao | MO | 446 |
| Macedonia | MK | 807 |
| Madagascar | MG | 450 |
| Malawi | MW | 454 |
| Malaysia | MY | 458 |
| Maldives | MV | 462 |
| Mali | ML | 466 |
| Mauritania | MR | 478 |
| Mauritius | MU | 480 |
| Mexico | MX | 484 |
| Moldova, Republic of | MD | 498 |
| Mongolia | MN | 496 |
| Montserrat | MS | 500 |
| Morocco | MA | 504 |
| Mozambique | MZ | 508 |
| Myanmar (effective 1 November 2012) | MM | 104 |
| Namibia | NA | 516 |
| Nauru | NR | 520 |
| Nepal | NP | 524 |
| Netherlands Antilles | AN | 530 |
| New Caledonia | NC | 540 |
| New Zealand | NZ | 554 |
| Nicaragua | NI | 558 |
| Niger | NE | 562 |
| Nigeria | NG | 566 |
| Niue | NU | 570 |
| Norfolk Island | NF | 574 |
| Norway | NO | 578 |
| Oman | OM | 512 |
| Pakistan | PK | 586 |
| Panama | PA | 591 |
| Papua New Guinea | PG | 598 |
| Paraguay | PY | 600 |
| Peru | PE | 604 |
| Philippines | PH | 608 |
| Pitcairn | PN | 612 |
| Poland | PL | 616 |
| Qatar | QA | 634 |
| Republic of South Sudan | SS | 728 |
| Romania | RO | 642 |
| Russian Federation | RU | 643 |
| Rwanda | RW | 646 |
| Samoa | WS | 882 |
| Sao Tome and Principe | ST | 678 |
| Saudi Arabia | SA | 682 |
| Senegal | SN | 686 |
| Serbia | RS | 688 |
| Seychelles | SC | 690 |
| Sierra Leone | SL | 694 |
| Singapore | SG | 702 |
| Sint Maarten (Dutch Part) | SX | 534 |
| Solomon Islands | SB | 090 |
| Somalia | SO | 706 |
| South Africa | ZA | 710 |
| South Georgia and the South Sandwich Islands | GS | 239 |
| Sri Lanka | LK | 144 |
| Saint Helena, Ascension and Tristan Da Cunha | SH | 654 |
| St. Kitts and Nevis | KN | 659 |
| St. Lucia | LC | 662 |
| St. Vincent and the Grenadines | VC | 670 |
| Suriname | SR | 740 |
| Svalbard and Jan Mayen | SJ | 744 |
| Swaziland | SZ | 748 |
| Sweden | SE | 752 |
| Switzerland | CH | 756 |
| Taiwan | TW | 158 |
| Tajikistan | TJ | 762 |
| Tanzania, United Republic of | TZ | 834 |
| Thailand | TH | 764 |
| Togo | TG | 768 |
| Tokelau | TK | 772 |
| Tonga | TO | 776 |
| Trinidad and Tobago | TT | 780 |
| Tunisia | TN | 788 |
| Turkey | TR | 792 |
| Turkmenistan | TM | 795 |
| Tuvalu | TV | 798 |
| Uganda | UG | 800 |
| Ukraine | UA | 804 |
| United Arab Emirates | AE | 784 |
| United Kingdom | GB | 826 |
| Uruguay | UY | 858 |
| Uzbekistan | UZ | 860 |
| Vanuatu | VU | 548 |
| Venezuela, Bolivarian Republic of | VE | 862 |
| Vietnam | VN | 704 |
| Wallis and Futuna | WF | 876 |
| Western Sahara | EH | 732 |
| Yemen | YE | 886 |
| Zambia | ZM | 894 |
| Zimbabwe | ZW | 716 |
'
externalDocs:
description: Find more info here
url: https://www.iso.org/iso-3166-country-codes.html
example: '528'
line2:
allOf:
- $ref: '#/components/schemas/ExtendedNameOfPeopleAndPlaces'
- description: 'Address line 2. Clients not enrolled in the "extended character set beta" are still subject to the `^[\w ,\.\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF-]+$` pattern for field input.
'
- example: Floor 3
line1:
allOf:
- $ref: '#/components/schemas/ExtendedNameOfPeopleAndPlaces'
- description: 'Address line 1. Clients not enrolled in the "extended character set beta" are still subject to the `^[\w ,\.\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF-]+$` pattern for field input.
'
example: Entrada 300
agentKey:
description: Uniquely identifies an Agent
type: string
pattern: ^cgt-[a-zA-Z0-9]+|current$
example: cgt-1UF2NafdfrdPMf2XrS2
stateOrProvince:
allOf:
- $ref: '#/components/schemas/ExtendedNameOfPeopleAndPlaces'
- description: 'The state (US) or province (non-US) of the address. Required for US Point of Sale (POS) acceptors. Clients not enrolled in the "extended character set beta" are still subject to the `^[\w ,\.\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF-]+$` pattern for field input.
'
example: Noord-Holland
merchantKey:
description: Uniquely identifies a Merchant
type: string
pattern: ^mct-[a-zA-Z0-9]+$
minLength: 5
maxLength: 120
example: mct-123dinkqFqfq3q2f2adfa
permission:
description: A permission
type: string
enum:
- acceptors:Activate
- acceptors:All
- acceptors:Archive
- acceptors:Get
- acceptors:GetActive
- acceptors:GetDraft
- acceptors:List
- acceptors:Update
- agents:Activate
- agents:All
- agents:CreateBearerToken
- agents:Get
- agents:GetBin
- agents:ListBins
- agents:Update
- all:All
- apiKeys:All
- apiKeys:Archive
- apiKeys:Create
- apiKeys:Disable
- apiKeys:Enable
- apiKeys:Get
- apiKeys:List
- apiKeys:Update
- bep:All
- bep:Create
- bep:Get
- bep:Update
- cardInfo:GetInfo
- charges:All
- charges:Cancel
- charges:CancelOrRefund
- charges:Clear
- charges:Create
- charges:CreateAtm
- charges:CreateMitFunding
- charges:CreatePayout
- charges:CreatePos
- charges:Get
- charges:GetRecords
- charges:GetResponses
- charges:Increment
- charges:List
- charges:OfflineRefund
- charges:Refund
- charges:Reverse
- currencyRate:All
- currencyRate:GetInfo
- disputes:Accept
- disputes:AddDocument
- disputes:All
- disputes:ArchiveDocument
- disputes:Defend
- disputes:DownloadFile
- disputes:Get
- disputes:GetDocument
- disputes:GetHistory
- disputes:List
- disputes:ListDocuments
- disputes:ListHistory
- disputes:RejectEvidence
- disputes:SubmitEvidence
- disputes:UploadFile
- distributions:All
- distributions:Archive
- distributions:Create
- distributions:Distribute
- distributions:Get
- distributions:List
- distributions:Update
- documents:All
- documents:Archive
- documents:Download
- documents:Get
- documents:Upload
- enrollments:All
- enrollments:Archive
- enrollments:Create
- enrollments:Get
- enrollments:List
- eventSubscriptions:All
- eventSubscriptions:Archive
- eventSubscriptions:Create
- eventSubscriptions:Get
- eventSubscriptions:List
- eventSubscriptions:Update
- fees:Interchange
- fees:Scheme
- fileSubscription:All
- fileSubscription:Create
- fileSubscription:Delete
- fileSubscription:List
- fileSubscription:Update
- fraudNotifications:Get
- fraudNotifications:List
- merchants:All
- merchants:Archive
- merchants:Create
- merchants:CreateAcceptor
- merchants:Get
- merchants:List
- merchants:ListAcceptors
- merchants:Update
- networkTokens:All
- networkTokens:Archive
- networkTokens:Create
- networkTokens:CreateNetworkTokenCryptogram
- networkTokens:Get
- networkTokens:GetCardArt
- networkTokens:GetNetworkTokenData
- networkTokens:List
- processorTokens:All
- processorTokens:Archive
- processorTokens:Create
- processorTokens:Get
- processorTokens:GetCardData
- processorTokens:List
- reports:All
- reports:Create
- reports:CreateCharges
- reports:CreateDisputeHistoryEvents
- reports:CreateFraudNotifications
- reports:CreateNetworkFundsTransfers
- reports:CreateReconciliationDetails
- reports:CreateSchemeFeeDetails
- reports:CreateSchemeFeeDetailsSchedule
- reports:DailySettlementTotals
- reports:DisputeMonitoring
- reports:Download
- reports:DownloadAmmfReport
- reports:DownloadCharges
- reports:DownloadDisputeHistoryEvents
- reports:DownloadFraudNotifications
- reports:DownloadNetworkFundsTransfers
- reports:DownloadQuarterlySchemeReport
- reports:DownloadReconciliationDetails
- reports:DownloadSchemeFeeDetails
- reports:DownloadSettlementDetails
- reports:Get
- reports:GetCharges
- reports:GetDisputeHistoryEvents
- reports:GetFraudNotifications
- reports:GetNetworkFundsTransfers
- reports:GetReconciliationDetails
- reports:GetSchemeFeeDetails
- reports:GetSchemeFeeDetailsData
- reports:List
- reports:NetworkFundsTransfers
- reports:QuarterlyNetwork
- reports:SettlementDetails
- reportSchedules:All
- reportSchedules:Archive
- reportSchedules:Create
- reportSchedules:Get
- reportSchedules:List
- reportSchedules:Update
- riskAssessments:Create
- screenings:All
- screenings:Archive
- screenings:Create
- screenings:Get
- screenings:List
- threeDs:Create
- threeDs:Get
- threeDs:List
CountryCode:
type: object
required:
- alpha3
- alpha2
- numeric
properties:
alpha3:
$ref: '#/components/schemas/countryCodeAlpha3'
alpha2:
$ref: '#/components/schemas/countryCodeAlpha2'
numeric:
$ref: '#/components/schemas/countryCodeNumeric'
responses:
NotFoundError:
description: The requested resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetail'
example:
type: https://datatracker.ietf.org/doc/html/rfc2616#section-10.4.5
title: Not Found
status: 404
detail: The entity referenced in the request could not be found
instance: https://api.silverflow.co/v1/merchants/mct-1hPdFqhgstYTUhlphPDp
ForbiddenError:
description: The authenticated client is forbidden to make the request for the resource identified.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetail'
example:
type: https://datatracker.ietf.org/doc/html/rfc2616#section-10.4.4
title: Forbidden
status: 403
detail: The server is refusing to execute the request for the current authenticated user
instance: https://api.silverflow.co/v1/merchants/mct-1hPdFqhgstYTUhlphPDp
ConflictError:
description: The request could not be completed due to a conflict with the current state of the resources involved in the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetail'
PreconditionFailedError:
description: The conditions specified in the HTTP headers of the request were not met.
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedProblemDetail'
example:
detail: The referenced bin with key 'bin-5nHQqdP4wTClI7MDMw5j' did not have the expected version 5
instance: /silverflow/00b32804-1109-4761-8776-9436a3c6b26b
status: 412
title: Precondition Failed
type: /silverflow/problems/precondition-failed
TooManyRequestsError:
description: The number of requests (per minute) has exceeded the configured maximum
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetail'
example:
type: /silverflow/problems/too-many-requests
title: Too Many Requests
status: 429
detail: You have exceeded the rate limit. Please try again after the specified delay.
instance: /silverflow/b0451a9d-f66d-4ef7-9f5d-d48064a2bb3e
BadRequestError:
description: The request was malformed. See the response body for details
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestProblemDetail'
example:
type: /silverflow/problems/bad-request
title: Bad Request
status: 400
detail: Validation errors occurred
instance: https://api.silverflow.co/v1/merchants/mct-1hPdFqhgstYTUhlphPDp
validationErrors:
- instancePath: /tags/0/businessId
message: must not be longer than 255 characters
UnauthorizedError:
description: Authentication information is missing or invalid
headers:
WWW_Authenticate:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetail'
example:
type: https://datatracker.ietf.org/doc/html/rfc2616#section-10.4.2
title: Unauthorized
status: 401
detail: The credentials supplied in the request are either missing, invalid, or not applicable in the current scope
examples:
create-agent-bearer-token-merchant:
summary: Example request creating a bearer token for a merchant
description: The token created by this request will expire after 30 minutes and grants the bearer the `merchants:All` permissions with the scope limited to a particular merchant.
value:
expires: PT30M
permissions:
- merchants:All
scope:
merchantKey: mct-1hPdFhmgaBzMS191nIbJ
create-agent-bearer-token:
summary: Example request creating a bearer token for the authenticated Agent
description: The token created by this request will expire after 30 minutes, grants the bearer the `disputes:All` permission and restricts usage to the specified IP ranges.
value:
expires: PT30M
permissions:
- disputes:All
ipRanges:
- 185.184.111.39/32
- 102.177.115.120/29
update-agent-change-emails:
summary: Example request changing the address of the Agent
value:
description: Sanbox Agent
technicalEmails:
- tech@email.com
billingEmails:
- billing@email.com
settlementEmails:
- settlement@email.com
agent-activation:
summary: New API Key received after activating a new Management Agent
value:
key: apk-3kDnG9ibUpvF7qYW76VW
status: active
agentKey: cgt-3kDnG6yXVLyNT0HrTu1l
description: API Key Management Key (created by Agent activation)
permissions:
- all:All
secret: FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ
created: '2023-08-18T12:53:35.570Z'
version: 1
get-agent:
summary: Example agent
value:
key: cgt-1examplei0AXnCRKxRgu
status: active
name: Acme Payments
description: Acme Payments agent
legalName: Acme Pay Ltd.
billingAddress:
line1: 2000 Purchase Street
line2: Unit 43-1
city: Purchase
stateOrProvince: New York
postalCode: NY10577
countryCode:
alpha2: US
alpha3: USA
numeric: '840'
registeredAddress:
line1: 2000 Purchase Street
line2: Unit 43-1
city: Purchase
stateOrProvince: New York
postalCode: NY10577
countryCode:
alpha2: US
alpha3: USA
numeric: '840'
binKeys:
- bin-1exampleU99MEEuBhtnq
- bin-2exampleD6FreWrw60Ip
technicalEmails:
- technical@example.com
billingEmails:
- billing@example.com
settlementEmails:
- settlement@example.com
businessEmails:
- business@example.com
created: '2021-06-21T11:34:12.214Z'
version: 1
update-agent-change-emails-response:
summary: Example agent
value:
key: cgt-1examplei0AXnCRKxRgu
status: active
name: Acme Payments
legalName: Acme Pay Ltd.
description: Acme Payments
billingAddress:
line1: 2000 Purchase Street
line2: Unit 43-1
city: Purchase
stateOrProvince: New York
postalCode: NY10577
countryCode:
alpha2: US
alpha3: USA
numeric: '840'
registeredAddress:
line1: 2000 Purchase Street
line2: Unit 43-1
city: Purchase
stateOrProvince: New York
postalCode: NY10577
countryCode:
alpha2: US
alpha3: USA
numeric: '840'
binKeys:
- bin-1exampleU99MEEuBhtnq
- bin-2exampleD6FreWrw60Ip
technicalEmails:
- technical@example.com
billingEmails:
- billing@example.com
settlementEmails:
- settlement@example.com
businessEmails:
- business@example.com
created: '2021-06-21T11:19:31.121Z'
version: 2
parameters:
agentKey:
name: agentKey
in: path
required: true
description: 'Uniquely identifies an Agent. When called by an Agent the literal value "current" can be used instead of the
actual Agent Key.
'
schema:
$ref: '#/components/schemas/agentKey'
ifMatch:
name: If-Match
description: The request condition
in: header
required: false
schema:
type: integer
format: int32
securitySchemes:
ApiKey:
description: "The primary method of authenticating to the Silverflow API is through API keys.\n\nAPI keys can be created by calling the [createApiKey](#operation/createApiKey) endpoint. You can create up to 40 API keys and also update and delete them, allowing for _credential rotation_.\n\nThe _Agent Activation_ process will generate an initial API Key for you. See [Activate Agent](#section/Getting-Started).\n\nA call to the [createApiKey](#operation/createApiKey) endpoint will return the following structure:\n\n```json\n{\n \"key\": \"apk-1wtRxni5IsPsSpBLWpwr\",\n \"status\": \"active\",\n \"agentKey\": \"cgt-1wtRvFLIjDOyyUR5Q2LB\",\n \"description\": \"Data lake API key\",\n \"permissions\": [\n \"charges:List\",\n \"reports:All\"\n ],\n \"created\": \"2021-06-22T11:21:45.115Z\",\n \"secret\": \"FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ\",\n \"version\": 1\n}\n```\n\n> **Important:** The `secret` is only returned once in the response to the `createApiKey` call.\n\nOnce created, the `key` and `secret` fields from the API key must be used in the HTTP `Authorization` header using the `Basic` scheme.\nThe Basic scheme requires a **username** and **password** to be specified, separated by a `:` (colon) and Base64 encoded.\n\nUse the following values from the API key to construct a Basic authentication header:\n\n| Basic field | API key field | Example |\n| ----------- | ------------- | ------- |\n| username | `key` | `apk-1wtRxni5IsPsSpBLWpwr` |\n| password | `secret` | `FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ` |\n\nIn pseudo-code a valid HTTP Basic Authentication header would be constructed as follows:\n\n```ts\nconst apiKeyId = \"apk-1wtRxni5IsPsSpBLWpwr\";\nconst apiKeySecret = \"FWtnOOHAjbD6rNxWWEeVOCj7JXSEPGJQ\";\nconst authnValue = \"Basic \" + base64Encode(apiKeyId + \":\" + apiKeySecret);\nrequest.setHeader(\"Authorization\", authnValue);\n```\n\nUsing the values from the example a valid HTTP request would look like the following:\n\n```http\nGET /v1/agents/current HTTP/1.1\nAccept: application/json\nAuthorization: Basic YXBrLTF3dFJ4bmk1SXNQc1NwQkxXcHdyOkZXdG5PT0hBamJENnJOeFdXRWVWT0NqN0pYU0VQR0pR\n```\n\nMore information on the Basic scheme can be found in [RFC-7617 - The 'Basic' HTTP Authentication Scheme](https://datatracker.ietf.org/doc/html/rfc7617)."
type: http
scheme: basic
BearerToken:
description: 'Bearer tokens are temporary security credentials that can be used to authorize ''third parties'' (bearers) access to the Silverflow API on behalf of the agent.
These tokens are created by calling the [createAgentBearerToken](#operation/createAgentBearerToken) endpoint.
Once created the `token` field must be used in the HTTP `Authorization` header using the `Bearer` scheme.
Here''s an example of an HTTP request with a bearer token:
```http
GET /v1/merchants/mct-1hPdFhmgaBzMS191nIbJ HTTP/1.1
Accept: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...40EFOgxf_3I6mPZ16bXqHd5tUyApgl0mNOAXPm5AhnA
```
More information on the Bearer scheme can be found in [RFC-6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage](https://datatracker.ietf.org/doc/html/rfc6750).'
type: http
scheme: bearer
bearerFormat: JWT
MutualTLS:
type: apiKey
in: header
name: '-'
description: 'The client must set up mTLS connection with a valid X.509 client certificate signed by a customer-provided CA (certificate authority) that is registered to a specific agent. The customer-provided CA certificate must be shared and added to Silverflow''s trust store prior to calling endpoints.
Certificate validation happens at the transport layer during TLS handshake. Tenant verification is performed by matching the agent key embedded in the client certificate against the agent key embedded in the trusted CA.
'
x-refined-from:
- silverflow-openapi.yml
- silverflow-openapi.yml
x-tagGroups:
- name: ''
tags:
- Introduction
- Release Notes
- name: Accounts
tags:
- Agents
- API Keys
- Bins
- Merchants
- Merchant Acceptors
- Enrollments
- Screenings
- name: Event Notifications
tags:
- Event Subscriptions
- Charges Events
- Disputes Events
- Fraud Notification Events
- Processor Tokens Events
- Network Tokens Events
- Report Events
- Distribution Events
- AMMF Submission Events
- Reconciliation Events
- Clearing Events
- name: 3DS Authentication
tags:
- 3DS Authentication
- name: BEP Authentication
tags:
- BEP Authentication
- name: Tokenization
tags:
- Processor Tokenization
- Network Tokenization
- name: Charges
tags:
- Create Charges
- Create Recurring
- Retrieve Charges
- Charge Actions
- name: Terminal-To-Cloud
tags:
- Create POS Charges
- Retrieve POS Charges
- POS Charge Actions
- name: Card Management
tags:
- Card Management
- name: Disputes
tags:
- Disputes
- Documents
- name: Fraud Notifications
tags:
- Fraud Notifications
- name: Card Info
tags:
- Card Info
- name: Currency Conversion Rates
tags:
- Currency Conversion Rates
- name: Fees
tags:
- Fees
- name: Reconciliation
tags:
- Reconciliation Details
- Network Funds Transfers
- name: Reports
tags:
- Reconciliation Reports
- Settlement Reports
- Card Network Reports
- Dispute Reports
- Fraud Notifications Reports
- Charges Reports
- Scheme Fee Reports
- Retrieve Reports
- Report Scheduling
- Distributions
- name: Transaction Risk Assessment
tags:
- Transaction Risk Assessment
- name: File Subscriptions
tags:
- File Subscriptions