# Get Campaign Details

Returns the details of the specified campaign by its registration ID.

Endpoint: GET /v1/projects/{projectId}/campaignRegistrations/{campaignRegistrationId}
Version: 1.0
Security: BasicAuth, OAuth2

## Security:

  - `BasicAuth` (unknown)
    http basic

  - `OAuth2` (unknown)
    oauth2

## Path parameters:

  - `projectId` (string, required)
    Sinch uses projects to group resources such as contacts and apps together to manage and connect a unique set of keys and secret IDs for all your Sinch API products. To identify a project, it is given a unique alphanumeric identifier that ties it to your account. Your project ID can be found in the [Customer Dashboard](https://dashboard.sinch.com/settings/project-management).

  - `campaignRegistrationId` (string, required)
    Campaign Registration Id returned by the create campaign API.

## Response 200:

  - `200` (unknown)
    A successful response.

## Response 200 fields (application/json):

  - `campaignId` (string)
    Campaign ID returned by external partner. i.e. TCR Campaign Id

  - `campaignName` (string)
    Optional name to help track and view campaign.

  - `campaignRegistrationId` (string)
    Campaign Registration Id returned by the Create Campaign API

  - `createDate` (string)
    Campaign Creation Date

  - `modifiedDate` (string)
    Campaign Modified Date

  - `createdBy` (string)
    Represents who Created this Campaign

  - `modifiedBy` (string)
    Represents who was the Last to Modify this Campaign

  - `autoRenewal` (boolean)
    Campaign subscription auto-renewal status.

  - `billedDate` (string)
    Campaign recent billed date.

  - `brandId` (string)
    Alphanumeric identifier of the brand associated with this campaign.

  - `vertical` (string)
    Business/industry segment of this campaign. Must be of defined valid types.

  - `useCase` (string)
    Campaign useCase.

  - `subUseCases` (array)
    Campaign sub use-cases.

  - `description` (string)
    Summary description of this campaign.

  - `embeddedLink` (boolean)
    Does message generated by the campaign include URL link in SMS?

  - `embeddedPhone` (boolean)
    Does message generated by the campaign include phone number in SMS?

  - `affiliateMarketing` (boolean)
    Does message content controlled by affiliate marketing other than the brand?

  - `numberPool` (boolean)
    Indicates whether this campaign has been approved and configured as a numberpool campaign

  - `ageGated` (boolean)
    Age gated content in campaign.

  - `directLending` (boolean)
    is direct lending.

  - `subscriberOptIn` (boolean)
    Does campaign require subscriber to opt-in before SMS is sent to subscriber?

  - `subscriberOptOut` (boolean)
    Does campaign support subscriber opt-out keyword(s)?

  - `subscriberHelp` (boolean)
    Does campaign responds to help keyword(s)?

  - `sample1` (string)
    Message sample. Some campaign tiers require 1 or more message samples.

  - `sample2` (string)
    Message sample. Some campaign tiers require 2 or more message samples.

  - `sample3` (string)
    Message sample. Some campaign tiers require 3 or more message samples.

  - `sample4` (string)
    Message sample. Some campaign tiers require 4 or more message samples.

  - `stopMessage` (string)
    Message that will be returned if a subscriber opts out of the campaign.

  - `optInMessage` (string)
    Message that will be returned when a subscriber opts into a campaign.

  - `helpMessage` (string)
    Help message of the campaign.

  - `monthlyFee` (number)
    Monthly Fee

  - `setupFee` (number)
    Initial Setup Fee

  - `status` (string)
    Campaign Status.
    Enum: "SINCH_REVIEW", "SINCH_APPROVED", "SINCH_REJECTED", "SUBMITTED", "APPROVED", "ACTIVE", "EXPIRED", "REJECTED", "SUBMISSION_FAILED"

  - `mnoMetadata` (object)

  - `mock` (boolean)
    Defines if campaign mocked or real one

  - `lastActionStatus` (string)
    Last Action Status.
    Enum: "CREATE_IN_PROGRESS", "CREATE_SUCCESSFUL", "CREATE_FAILED", "DELETE_IN_PROGRESS", "DELETE_SUCCESSFUL", "DELETE_FAILED", "RESUBMIT_IN_PROGRESS", "RESUBMIT_SUCCESSFUL", "RESUBMIT_FAILED"

  - `optinKeywords` (string)
    Subscriber opt-in keywords. Must be upper-case alphanumeric comma(,) separated keywords without space.

  - `optoutKeywords` (string)
    Subscriber opt-out keywords. Default value is 'STOP'. Must be upper-case alphanumeric comma(,) separated keywords without space.

  - `helpKeywords` (string)
    Subscriber help keywords. Default value is 'HELP'. Must be upper-case alphanumeric comma(,) separated keywords without space.

  - `messageFlow` (string)
    Message flow description.

  - `nextRenewalOrExpirationDate` (string)
    When the campaign would be due for its next renew/bill date.

## Response 400:

  - `400` (unknown)
    INVALID_ARGUMENT: If the input parameters are not valid

## Response 400 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    The error code.
    Example: 400

  - `error.message` (string, required)
    The error message.
    Example: Invalid argument.

  - `error.status` (string)
    The status of the error.
    Example: INVALID_ARGUMENT

  - `error.details` (array)
    An array of objects describing the error in more detail, if applicable.

  - `error.details.type` (string)
    A more specific description of the error.
    Example: BadRequest

  - `error.details.resourceType` (string)
    The type of resource relevant to the error, if applicable.

  - `error.details.resourceName` (string)
    The name of the resource, if applicable.

  - `error.details.owner` (string)
    The owner of the resource, if applicable.

  - `error.details.description` (string)
    A description of the error, if applicable.

  - `error.details.fieldViolations` (array)
    An array of all the field violations which contributed to the error.

  - `error.details.fieldViolations.field` (string)
    The field which produced the error.
    Example: order_by

  - `error.details.fieldViolations.description` (string)
    The description of the error.
    Example: Invalid `order_by` number.

## Response 404:

  - `404` (unknown)
    The campaign could not be found

## Response 404 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    The error code.
    Example: 400

  - `error.message` (string, required)
    The error message.
    Example: Invalid argument.

  - `error.status` (string)
    The status of the error.
    Example: INVALID_ARGUMENT

  - `error.details` (array)
    An array of objects describing the error in more detail, if applicable.

  - `error.details.type` (string)
    A more specific description of the error.
    Example: BadRequest

  - `error.details.resourceType` (string)
    The type of resource relevant to the error, if applicable.

  - `error.details.resourceName` (string)
    The name of the resource, if applicable.

  - `error.details.owner` (string)
    The owner of the resource, if applicable.

  - `error.details.description` (string)
    A description of the error, if applicable.

  - `error.details.fieldViolations` (array)
    An array of all the field violations which contributed to the error.

  - `error.details.fieldViolations.field` (string)
    The field which produced the error.
    Example: order_by

  - `error.details.fieldViolations.description` (string)
    The description of the error.
    Example: Invalid `order_by` number.

## Response 429:

  - `429` (unknown)
    Over limit

## Response 429 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    The error code.
    Example: 400

  - `error.message` (string, required)
    The error message.
    Example: Invalid argument.

  - `error.status` (string)
    The status of the error.
    Example: INVALID_ARGUMENT

  - `error.details` (array)
    An array of objects describing the error in more detail, if applicable.

  - `error.details.type` (string)
    A more specific description of the error.
    Example: BadRequest

  - `error.details.resourceType` (string)
    The type of resource relevant to the error, if applicable.

  - `error.details.resourceName` (string)
    The name of the resource, if applicable.

  - `error.details.owner` (string)
    The owner of the resource, if applicable.

  - `error.details.description` (string)
    A description of the error, if applicable.

  - `error.details.fieldViolations` (array)
    An array of all the field violations which contributed to the error.

  - `error.details.fieldViolations.field` (string)
    The field which produced the error.
    Example: order_by

  - `error.details.fieldViolations.description` (string)
    The description of the error.
    Example: Invalid `order_by` number.

## Response 500:

  - `500` (unknown)
    INTERNAL: Internal server error. Typically, a server bug.

## Response 500 fields (application/json):

  - `error` (object, required)

  - `error.code` (integer, required)
    The error code.
    Example: 400

  - `error.message` (string, required)
    The error message.
    Example: Invalid argument.

  - `error.status` (string)
    The status of the error.
    Example: INVALID_ARGUMENT

  - `error.details` (array)
    An array of objects describing the error in more detail, if applicable.

  - `error.details.type` (string)
    A more specific description of the error.
    Example: BadRequest

  - `error.details.resourceType` (string)
    The type of resource relevant to the error, if applicable.

  - `error.details.resourceName` (string)
    The name of the resource, if applicable.

  - `error.details.owner` (string)
    The owner of the resource, if applicable.

  - `error.details.description` (string)
    A description of the error, if applicable.

  - `error.details.fieldViolations` (array)
    An array of all the field violations which contributed to the error.

  - `error.details.fieldViolations.field` (string)
    The field which produced the error.
    Example: order_by

  - `error.details.fieldViolations.description` (string)
    The description of the error.
    Example: Invalid `order_by` number.

