openapi: 3.2.0 info: title: Gr4vy Vault Forward Definitions API version: 1.1.0-beta contact: name: Gr4vy Support email: code@gr4vy.com url: https://gr4vy.com termsOfService: https://gr4vy.com license: name: MIT url: https://raw.githubusercontent.com/gr4vy/gr4vy-openapi/main/LICENSE description: 'Welcome to the Gr4vy API reference documentation. Our API is still very much a work in product and subject to change.' servers: - url: https://api.sandbox.{id}.gr4vy.app x-speakeasy-server-id: sandbox variables: id: default: example description: The subdomain for your Gr4vy instance. - url: https://api.{id}.gr4vy.app x-speakeasy-server-id: production variables: id: default: example description: The subdomain for your Gr4vy instance. security: - bearerAuth: [] tags: - name: Vault Forward Definitions description: 'Vault Forward definitions describe a third party service that has been vetted to receive requests containing PCI data.' paths: /vault-forward/definitions: get: operationId: list-vault-forward-definitions summary: List Vault Forward definitions description: 'Returns a list of definitions of the available endpoints that PCI data can be forwarded to.' tags: - Vault Forward Definitions x-internal: true responses: '200': description: Returns a list of Vault Forward definitions. content: application/json: schema: $ref: '#/components/schemas/PCIForwardDefinitions' '401': description: Returns an error if no valid authentication was provided. content: application/json: schema: $ref: '#/components/schemas/Error401Unauthorized' components: schemas: PCIForwardDefinition: title: Vault Forward Definition type: object description: An available Vault Forward definition that can be configured. x-internal: true properties: id: type: string description: The ID of the Vault Forward definition. example: amadeus type: type: string description: The type of this resource. It is always `vault-forward-definition`. default: vault-forward-definition example: vault-forward-definition display_name: type: string description: The display name of this definition. example: Amadeus hosts: type: array description: The hosts where Vault Forward requests are allowed for this definition. minItems: 0 items: type: string example: - https://api.amadeus.com - https://test.api.amadeus.com authentications: type: array description: Available authentication methods to be configured for this definition. minItems: 1 items: $ref: '#/components/schemas/PCIForwardAuthenticationDefinition' ErrorDetail: title: Error details description: Additional detail about the part of a request body that caused an issue. type: object x-tags: - Errors properties: location: type: string example: body description: The location where the error caused an issue. enum: - query - body - path - header type: type: string example: value_error.missing description: A unique identifier for the type of error that occurred. pointer: type: string example: /payment_method/number description: 'The exact item for which the validation did not succeed. This is a JSON pointer for request bodies, while for query, path, and header parameters it is the name of the parameter.' message: type: string example: field required description: A human readable message for this error detail. PCIForwardDefinitions: title: Vault Forward definitions type: object description: A definitions list of all the PCI endpoints that we can send card data to. x-internal: true properties: items: type: array items: $ref: '#/components/schemas/PCIForwardDefinition' limit: type: integer description: 'The limit applied to request. This represents the number of items that are at maximum returned by this request.' format: int32 minimum: 1 maximum: 100 example: 1 default: 20 next_cursor: type: - string - 'null' description: 'The cursor that represents the next page of results. Use the `cursor` query parameter to fetch this page of items.' example: ZXhhbXBsZTE minLength: 1 maxLength: 1000 previous_cursor: type: - string - 'null' description: 'The cursor that represents the next page of results. Use the `cursor` query parameter to fetch this page of items.' example: null minLength: 1 maxLength: 1000 Error401Unauthorized: title: Unauthorized Error type: object description: Unauthorized Error (HTTP 401). x-tags: - Errors properties: type: type: string description: '`error`.' enum: - error example: error code: type: string description: '`unauthorized`.' example: unauthorized enum: - unauthorized status: type: integer description: '`401`.' example: 401 enum: - 401 message: type: string description: No valid API authentication found. example: No valid API authentication found enum: - No valid API authentication found details: type: array description: 'A list of detail objects that further clarify the reason for the error. Not every error supports more detail.' example: [] items: $ref: '#/components/schemas/ErrorDetail' PCIForwardAuthenticationDefinition: title: Vault Forward Authentication Definition type: object x-internal: true description: An available Vault Forward authentication definition that can be configured. properties: type: type: string description: 'The type of this resource. It is always `vault-forward-authentication-definition`.' default: vault-forward-authentication-definition example: vault-forward-authentication-definition kind: type: string description: 'The kind of authentication to be used in a Vault Forward request. ' enum: - mle - mtls - signature example: mle title: type: string description: The title of this authentication definition. example: Message Level Encryption description: type: string description: The description of this authentication definition. example: A way to set up payload encryption fields: type: array description: 'A list of fields that can to be submitted when activating the authentication method.' minItems: 1 items: type: object description: 'A single field that can be submitted for an authentication method when it is created.' properties: key: type: string example: private_api_key description: The key of a field that can be submitted. display_name: type: string example: Private API key description: The name to display for a field in the dashboard. required: type: boolean example: true description: 'Defines if this field is required when the authentication method is created.' format: type: string example: text description: Defines the type of input that needs to be rendered for this field. enum: - text - multiline - file - number secret: type: boolean example: true description: 'Defines if this field is secret. When `true` the field is not returned when querying the authentication method.' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT